zoukankan      html  css  js  c++  java
  • uva minesweep 水题

    格式控制那块,用cin输入,输出的时候有问题,但不知道为什么能过

    不知道是不是我理解错了

    #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]);
    				else
    					printf("*");
    			}
    			printf("\n");
    		}
    	}
    
    	return 0;
    }
    

      

  • 相关阅读:
    #张祖德#
    不说啥,放题
    ……
    点群的判别(四)
    lougu P4180 【模板】严格次小生成树[BJWC2010]
    20190227模拟
    20190226模拟
    Triangles
    Darling
    Suspenseful
  • 原文地址:https://www.cnblogs.com/jackes/p/2430113.html
Copyright © 2011-2022 走看看