1657. hash

时间限制 15000 ms   内存限制 256 MB

Qscqesze is busy at data cleaning.
One day,he generates a large matrix by Jenkins one-at-a-time hash:
inline unsigned sfr(unsigned h, unsigned x) {
return h >> x;
}
int f(LL i, LL j) {
LL w = i * 1000000ll + j;
int h = 0;
for(int k = 0; k < 5; ++k) {
h += (int) ((w >> (8 * k)) & 255);
h += (h << 10);
h ^= sfr(h, 6);
}
h += h << 3;
h ^= sfr(h, 11);
h += h << 15;
return sfr(h, 27) & 1;
}
Obviously,it's a 1e6*1e6 matrix.The data is at row i column j is f(i,j).Note that i and j are both numbered from 1.
Then he gets some matrices sized 1e3*1e3 from the matrix above.But he forgets their original postion.Can you help him to find them out?You just are asked to tell Qscqesze the left-top corner's postion.

输入数据

The first line is the number of test cases T (T<=3).
Here come with T cases.Each case is consist of 1000 0/1-strings sized 1000.
For convenience,the sample input is 10*10.And the real testcase is 1e3*1e3.

输出数据

For each test case, output a single line "Case #x :y z", where x is the case number, starting from 1. And y z is the answer.

样例输入

复制
1
0000011100
0000110011
0111111100
0011110010
0110101010
1001001001
0100111110
1111001010
0011101110
1100110100 \n
          \n
          \n
          \n
          \n
          \n
          \n
          \n
          \n
          \n
          \n

样例输出

复制
Case #1 :123456 234567    ·  ·       ·      \n

样例说明


提交

请先 登录

Source

2017 Multi-University Training Contest - Team 2

© 2024 FAQs Contact About