题意略。
思路:数论题。
#include<bits/stdc++.h> using namespace std; const int p = 47; const int maxn = p * p; int ans[maxn + 5][maxn + 5]; int main(){ printf("%d\n",2000); for(int x = 0;x < maxn;++x){ int k = x / p; int b = x % p; for(int i = 0;i < p;++i){ int y = i * p + (k * i + b) % p; ans[x][y] = 1; } } for(int i = 0;i < 2000;++i){ for(int j = 0;j < 2000;++j) printf("%d",ans[i][j]); printf("\n"); } return 0; }