uva minesweep 水题
生活随笔
收集整理的這篇文章主要介紹了
uva minesweep 水题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
格式控制那塊,用cin輸入,輸出的時(shí)候有問題,但不知道為什么能過
不知道是不是我理解錯(cuò)了
#include <cstdio> #include <iostream> using namespace std;char a[102][102];int n,m;int add(int q,int p) {int mines=0;if(a[q][p]=='*')return -1;if(q-1>=0&&a[q-1][p]=='*')mines++;if(q-1>=0&&p-1>=0&&a[q-1][p-1]=='*')mines++;if(p-1>=0&&a[q][p-1]=='*')mines++;if(q+1<n&&a[q+1][p]=='*')mines++;if(p+1<m&&a[q][p+1]=='*')mines++;if(q+1<n&&p+1<m&&a[q+1][p+1]=='*')mines++;if(q+1<n&&p-1>=0&&a[q+1][p-1]=='*')mines++;if(q-1>=0&&p+1<m&&a[q-1][p+1]=='*')mines++;return mines; }int main() {int k;int b[102][102];int i,j;k=1;while(scanf("%d%d",&n,&m),!(n==0&&m==0)){for(i=0;i<n;i++){for(j=0;j<m;j++){cin>>a[i][j];}} for(i=0;i<n;i++){for(j=0;j<m;j++){b[i][j]=add(i,j);}}if(k!=1)printf("\n");//必須在這輸出 不明白 但能過printf("Field #%d:\n",k++);for(i=0;i<n;i++){for(j=0;j<m;j++){if(b[i][j]!=-1)printf("%d",b[i][j]);elseprintf("*");}printf("\n");}}return 0; }
?
轉(zhuǎn)載于:https://www.cnblogs.com/jackes/archive/2012/04/02/2430113.html
總結(jié)
以上是生活随笔為你收集整理的uva minesweep 水题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS 代码行数统计
- 下一篇: 寻找kernel32.dll的地址