CCF201512(2)消除类游戏

来源:互联网 发布:mac版的matlab好用吗 编辑:程序博客网 时间:2024/04/28 02:14



多组测试数据与各种情况的预测请一定全部考虑到。

第一次做90分,WA,一直找不出问题还以为系统bug其实还是函数具体实现错误

测试图

....code......

#include<stdio.h>int a[35][35];int book[35][35];int sum,m,n,c,b;int i,j;int dfs(int x,int y){int next[4][2]={{0,1},{1,0},{0,-1},{-1,0}};int k;int tx=1;int ty=1;for(k=0;k<=3;k++){tx=x+next[k][0];ty=y+next[k][1];while((tx>=1)&&(tx<=m)&&(ty>=1)&&(ty<=n)){if(a[tx][ty]==a[x][y]){sum++;tx=tx+next[k][0];ty=ty+next[k][1];}else{if(sum>=2){c=x+next[k][0];b=y+next[k][1];for(i=sum;i>0;i--){  book[c][b]=0;sum--;c=c+next[k][0];b=b+next[k][1];}book[x][y]=0;tx=0; }elsetx=0;}}if(sum>=2){c=x+next[k][0];b=y+next[k][1];for(i=sum;i>0;i--){book[c][b]=0;sum--;c=c+next[k][0];b=b+next[k][1];}book[x][y]=0;tx=0; }sum=0;}return 0;}int main(){scanf("%d %d",&m,&n);int p,q;for(p=1;p<=m;p++)for(q=1;q<=n;q++){scanf("%d",&a[p][q]);book[p][q]=a[p][q];}printf("-------------------------------------------------------------------\n");for(p=1;p<=m;p++)for(q=1;q<=n;q++)dfs(p,q);for(p=1;p<=m;p++)for(q=1;q<=n;q++){printf("%d ",book[p][q]);if(q==n)printf("\n");}return 0; }

待优化...




0 0
原创粉丝点击