文章标题
2016-12-09 14:21
357 查看
ccf消除类游戏
#include<stdio.h> int main() { int m,n; int i,j,num; int a[31][31]; int flags[31][31]; scanf("%d%d",&m,&n); for(i=0;i<m;i++) { for(j=0;j<n;j++) { scanf("%d",&a[i][j]); } } for(i=0;i<m;i++) { for(j=0;j<n;j++) { flags[i][j]=1; } } //处理行 num=1; for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(a[i][j+1]==a[i][j]&&j+1<n) { num++; }else{ if(num>=3) { while(num) { flags[i][j-num+1]=0; num--; } } num=1; } } } //处理列 num=1; for(j=0;j<n;j++) { for(i=0;i<m;i++) { if(a[i+1][j]==a[i][j]&&i+1<m) { num++; }else{ if(num>=3) { while(num) { flags[i-num+1][j]=0; num--; } } num=1; } } } for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(flags[i][j]==0) { a[i][j]=0; } } } for(i=0;i<m;i++) { for(j=0;j<n;j++) { printf("%d ",a[i][j]); } printf("\n"); } return 0; }