摘要
题目链接 |
难度等级 |
完成状态 |
完成分数 |
最后编辑时间 |
需要注意
|
Pasha and Pixels
|
★☆☆☆☆
|
答案正确
|
100
|
2015-02-23 15:22:53
|
无
|
题意
n*m格子,按照顺序依次涂黑坐标,如果格子中出现2*2的黑色矩阵那么游戏结束。问游戏何时结束。
题解
题目很长但是真心很水。最简单的模拟了。
代码
508A.cpp代码已折叠
展开折叠内容
|
- #include <iostream>
- #include<cstdio>
- #include<algorithm>
- #include<cmath>
- #include<cstdlib>
- #include<climits>
- #include<queue>
- #include<vector>
- #define f(i,n) for(int i=1;i<=n;++i)
- #define fi(i,t,n)for(int i=t;i<=n;++i)
- #define fd(i,n) for(int i=n;i>=1;--i)
- #define fdi(i,t,n) for(int i=n;i>=t;--i)
- #define foreach(i,s) for(typeof(s.begin()) i=s.begin();i!=s.end();++i)
- #define rforeach(i,s) for(typeof(s.rbegin()) i=s.rbegin();i!=s.rend();++i)
- #define si(n) scanf("%d",&n)
- #define dsi(n) int n;scanf("%d",&n)
- #define llu unsigned long long
- #define lld long long
- #define ci const int &
- using namespace std;
- int a[1010][1010]={};
- bool isEnd(ci x,ci y)
- {
- if(a[x][y]&&a[x][y-1]&&a[x-1][y-1]&&a[x-1][y])return 1;
- if(a[x][y]&&a[x][y+1]&&a[x-1][y+1]&&a[x-1][y])return 1;
- if(a[x][y]&&a[x][y-1]&&a[x+1][y-1]&&a[x+1][y])return 1;
- if(a[x][y]&&a[x][y+1]&&a[x+1][y+1]&&a[x+1][y])return 1;
- return 0;
- }
- int main()
- {
- dsi(n);dsi(m);dsi(k);
- f(i,k)
- {
- dsi(x);dsi(y);
- a[x][y]=1;
- if(isEnd(x,y))
- {
- cout<<i;
- return 0;
- }
- }
- cout<<0;
- return 0;
- }
|