• uva 232


    代码非常混乱。没有时间整理时间太紧,不是一个好主意~但它可以AC……

    我不能看到消息,或增加qq共同探讨微笑

    #include<stdio.h>
    #include<string.h>
    #include<iostream>
    using namespace std;
    char s[11][11];
    int num[11][11];
    int vis[11][11];
    int main()
    {
        int r,c;
        int t=0;
        while(scanf("%d",&r)!=EOF)
        {
            if(r==0)
                break;
            t++;
            scanf("%d",&c);
            for(int i=0;i<r;i++)
            {
                scanf("%s",s[i]);
            }
            //编号;
            memset(num,0,sizeof(num));
            memset(vis,0,sizeof(vis));
            int t1=0;
            for(int i=0;i<r;i++)
            {
                for(int j=0;j<c;j++)
                {
                    if(s[i][j]!='*')
                    {
                        if(i==0)
                        {
                            num[i][j]=++t1;
                        }
                        else if(j==0)
                        {
                            num[i][j]=++t1;
                        }
                        else if(s[i][j-1]=='*'||s[i-1][j]=='*')
                        {
                            num[i][j]=++t1;
                        }
    
                    }
                }
            }
    
    //        for(int i=0;i<r;i++)
    //        {
    //            for(int j=0;j<c;j++)
    //            {
    //                printf("%d",num[i][j]);
    //            }
    //            printf("
    ");
    //        }
            //输出。
            if(t!=1)
                printf("
    ");
            printf("puzzle #%d:
    ",t);
            printf("Across
    ");
            int flag=0;
            int cnt1=0;
            int flag1=1;
            for(int i=0;i<r;i++)
            {
                for(int j=0;j<c;j++)
                {
                    if(s[i][j]=='*'&&flag)
                    {
                        flag=0;
                        printf("
    ");
                    }
                    if(s[i][j]!='*')
                    {
                        if(num[i][j]!=0)
                        {
                            if(i==0&&num[i][j-1]==0)
                                printf("%3d.",num[i][j]);
                            else if(i!=0&&(j==0||s[i][j-1]=='*'))
                                printf("%3d.",num[i][j]);
                        }
                        if(j==c-1)
                        {
                            printf("%c
    ",s[i][j]);
                            flag=0;
                        }
                        else
                        {
                            printf("%c",s[i][j]);
                            flag=1;
                        }
                    }
                }
            }
            printf("Down
    ");
            for(int i=0;i<r;i++)
            {
                for(int j=0;j<c;j++)
                {
                    if(num[i][j]!=0)
                    {
                        if(i==0)
                            printf("%3d.",num[i][j]);
                        else if(s[i-1][j]=='*')
                            printf("%3d.",num[i][j]);
    
                    }
                    if(s[i][j]!='*'&&!vis[i][j])
                    {
                        for(int k=i;s[k][j]!='*'&&k<r;k++)
                        {
                            vis[k][j]=1;
                            printf("%c",s[k][j]);
                        }
                        printf("
    ");
                    }
                }
            }
        }
        return 0;
    }
    


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    第一章 重构
    Android View的事件分发
    java.lang.NoSuchMethodError: android.view.View.setBackground
    handler消息机制
    魅族手机Listview下拉出现hold字样的奇葩问题解决方案
    数据结构--树,二叉树
    数据结构之栈和队列
    设计模式--六大原则
    ListView上下线添加
    Python 入门(七)函数
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4616757.html
Copyright © 2020-2023  润新知