#include<stdio.h> #include<string.h> #include<stdlib.h> int d[105][105]; int fd[105][105];// 来保存水滴的运动趋势 0为静止 1 向上 2 向下 3 向左 4 向右 int ff[105][105];//爆炸的时间 int data1[105]; int data2[105]; int r,c,n,t; int x,y; int time; void solve () { int i; int j; for(i=1;i<=r;i++) { for(j=1;j<=c;j++ ) { if(fd[i][j]==1) { d[i][j]-=1; fd[i][j]=0; if(d[i-1][j]==4) { fd[i-1][j]=5; ff[i-1][j]=time; } else if(d[i-1][j]>0) fd[i-1][j]=0; else fd[i-1][j]=1; d[i-1][j]+=1; continue; } if(fd[i][j]==2) { d[i][j]-=1; fd[i][j]=0; if(d[i+1][j]==4) { fd[i+1][j]=5; ff[i+1][j]=time; } else if(d[i+1][j]>0) fd[i+1][j]=0; else fd[i+1][j]=2; d[i+1][j]+=1; continue; } if(fd[i][j]==3) { d[i][j]-=1; fd[i][j]=0; if(d[i][j-1]==4) { fd[i][j-1]=5; ff[i][j-1]=time; } else if(d[i][j-1]>0) fd[i][j-1]=0; else fd[i][j-1]=3; d[i][j-1]+=1; continue; } if(fd[i][j]==4) { d[i][j]-=1; fd[i][j]=0; if(d[i][j+1]==4) { fd[i][j+1]=5; ff[i][j+1]=time; } else if(d[i][j+1]>0) fd[i][j+1]=0; else fd[i][j+1]=4; d[i][j+1]+=1; continue; } if(fd[i][j]==5) { d[i][j]=0; fd[i][j]=0; if(d[i-1][j]==4) {ff[i-1][j]=time; fd[i-1][j]=5; } else if(d[i-1][j]>0) fd[i-1][j]=0; else fd[i-1][j]=1; d[i-1][j]+=1; if(d[i+1][j]==4) {ff[i+1][j]=time; fd[i+1][j]=5; } else if(d[i+1][j]>0) fd[i+1][j]=0; else fd[i+1][j]=2; d[i+1][j]+=1; if(d[i][j-1]==4) {ff[i][j-1]=time; fd[i][j-1]=5; } else if(d[i][j-1]>0) fd[i][j-1]=0; else fd[i][j-1]=3; d[i][j-1]+=1; if(d[i][j+1]==4) {ff[i][j+1]=time; fd[i][j+1]=5; } else if(d[i][j+1]>0) fd[i][j+1]=0; else fd[i][j+1]=4; d[i][j+1]+=1; continue; } } } return ; } void fx() { for(time=1;time<=t;time++) { solve(); } return; } int main () { while(scanf("%d%d%d%d",&r,&c,&n,&t)!=EOF) { int i; int s; memset(d,0,sizeof(d)); memset(fd,0,sizeof(fd)); memset(ff,0,sizeof(ff)); for(i=1;i<=n;i++) { scanf("%d%d%d",&data1[i],&data2[i],&s); d[data1[i]][data2[i]]=s; } scanf("%d%d",&x,&y); d[x][y]=5; fd[x][y]=5; fx(); for(i=1;i<=n;i++) { if(ff[data1[i]][data2[i]]>0) printf("0 %d\n",ff[data1[i]][data2[i]]); else printf("1 %d\n",d[data1[i]][data2[i]]); } } return 0; } |
Double click to view unformatted code.