1 solutions
-
0
首先将坐标转成的格子,每次标记一个数,就标记对应的行列和对角线,如果某次恰好标记n次了,就达成了bingo
#include<bits/stdc++.h> using namespace std; const int N=2e3+10; int row[N],col[N],dg[2*N],ndg[2*N]; int main() { int n,m; cin>>n>>m; for(int i=1;i<=m;i++) { int x; cin>>x; x--; int r=x/n,c=x%n; row[r]++; col[c]++; dg[r-c+N]++; ndg[r+c]++; //cout<<row[r]<<" "<<col[c]<<" "<<r<<" "<<c<<endl; if(row[r]==n||col[c]==n||dg[r-c+N]==n||ndg[r+c]==n) { cout<<i; return 0; } } cout<<-1; return 0; }
- 1
Information
- ID
- 2465
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 1
- Accepted
- 1
- Uploaded By