ccf 消除类游戏

来源:互联网 发布:codol淘宝刷gp原理 编辑:程序博客网 时间:2024/03/28 19:08
#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;int main(){int a[35][35],b[35][35];int n,m;scanf("%d%d",&n,&m);for(int i=0;i<n;i++){for(int j=0;j<m;j++){scanf("%d",&a[i][j]);b[i][j]=a[i][j];}} for(int i=0;i<n;i++){int count=0,j;for(j=0;j<m-1;j++){if(a[i][j]==a[i][j+1]){count++;}else{if(count>=2){int tmp=j;count+=1;while(count--){a[i][tmp]=0;tmp--;}}count=0;}}if(count>=2){int tmp=j;count+=1;while(count--){a[i][tmp]=0;tmp--;}}}for(int j=0;j<m;j++){int count=0,i;for(i=0;i<n-1;i++){if(b[i][j]==b[i+1][j]){count++;}else{if(count>=2){int tmp=i;count+=1;while(count--){b[tmp][j]=0;tmp--;}}count=0;}}if(count>=2){int tmp=i;count+=1;while(count--){b[tmp][j]=0;tmp--;}}}for(int i=0;i<n;i++){if(b[i][0]==0) printf("%d",b[i][0]);else printf("%d",a[i][0]);for(int j=1;j<m;j++){if(b[i][j]==0) printf(" %d",b[i][j]);else printf(" %d",a[i][j]);}printf("\n");}return 0;}//将横向的消除,再将纵向的消除,合并即可

0 0
原创粉丝点击