下午上数据结构,结果竟然没有新题。T T果断上OJ来水一发
ZOJ 2850 Beautiful Meadow
传送门http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2850
题目判断yes的条件为
不是所有的格子都是草地,并且相邻不能没有草地。
#include<cstdio>
#include<iostream>
using namespace std;
const int MAXN=12;
int area[MAXN][MAXN];
int N,M;
bool ok()
{
for(int i=0;i<N;i++)
{
for(int j=0;j<M;j++)
{
// cout<<area[i][j]<<" "<<area[i+1][j]<<endl;
if(i>0 && area[i-1][j]==0 && area[i][j]==0)
return 0;
if(j>0 && area[i][j-1]==0 && area[i][j]==0)
return 0;
if(i<N-1 && area[i+1][j]==0 && area[i][j]==0)
return 0;
if(j<M-1 && area[i][j+1]==0 && area[i][j]==0)
return 0;
}
}
return true;
}
int main()
{
while(scanf("%d%d",&N,&M),N||M)
{
bool allone=true;
for(int i=0;i<N;i++)
{
for(int j=0;j<M;j++)
{
scanf("%d",&area[i][j]);
if(area[i][j]==0)
allone=false;
}
}
if( !allone && ok())
printf("Yes\n");
else
printf("No\n");
}
}
ZOJ 1414 Number Steps
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1414
找x和y的关系就好
#include<cstdio>
int main()
{
int N;
scanf("%d",&N);
while(N--)
{
int x,y;
scanf("%d%d",&x,&y);
if(x-y==2 || x==y)
{
if(x%2==0)
printf("%d\n",x+y);
else
printf("%d\n",x+y-1);
}
else
printf("No Number\n");
}
}