2013年10月28日 星期一

[ZJ] b238. A. 腹黑、傲嬌


#include<stdio.h>
long long int t,m;
struct P{
    long long int arr[3][3];
    friend P operator *(P a,P b){
        P c;
        c.arr[0][0]=(a.arr[0][0]*b.arr[0][0]%m+a.arr[0][1]*b.arr[1][0]%m+2*m)%m;
        c.arr[0][1]=(a.arr[0][0]*b.arr[0][1]%m+a.arr[0][1]*b.arr[1][1]%m+2*m)%m;
        c.arr[1][0]=(a.arr[1][0]*b.arr[0][0]%m+a.arr[1][1]*b.arr[1][0]%m+2*m)%m;
        c.arr[1][1]=(a.arr[1][0]*b.arr[0][1]%m+a.arr[1][1]*b.arr[1][1]%m+2*m)%m;
        return c;
    }
}in;
P mul(int k){
    if(k==1) return in;
    P L=mul(k/2);
    L=L*L;
    if(k%2==1) return L*in;
    else return L;
}
int main(){
    int k,i,j;
    long long int a,b;
    scanf("%d",&k);
    while(k--){
        scanf("%lld%lld%lld%lld%d%d",&in.arr[0][0],&in.arr[0][1],&in.arr[1][0],&in.arr[1][1],&t,&m);
        if(t==0){
            puts("Normal");
            continue;
        }
        in=mul(t);
        a=(in.arr[0][0]+in.arr[0][1])%m;
        b=(in.arr[1][0]+in.arr[1][1])%m;
        if(a<b) puts("Haraguroi");
        else if(a>b) puts("Tsundere");
        else puts("Normal");
    }
}

沒有留言:

張貼留言