zoukankan      html  css  js  c++  java
  • HDU3344(小广搜+小暴力

    Kakuro Extension Extension

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 507    Accepted Submission(s): 248


    Problem Description
    You know ,I'm a lazy guy and write problem description is a very very boring thing.So , I would not repeat the rule of Kakuro again , Please look at this.But things are different again,contray to the problem above,this time you should work out the input file according to the output file.
     

     

    Input
    The first line of the inputs is T, which stands for the number of test cases you need to solve.
    Then T case follow:
    Each test case starts with a line contains two numbers N,M (2<=N,M<=100)and then N lines follow, each line contains M columns, either ‘_’ or 1~9. You can assume that the first column of the first line is ’_’.
     

     

    Output
    Output N lines, each line contains M parts, each part contains 7 letters. The m parts are seperated by spaces.Output a blank line after each case.
     

     

    Sample Input
    2 6 6 _ _ _ _ _ _ _ _ 5 8 9 _ _ 7 6 9 8 4 _ 6 8 _ 7 6 _ 9 2 7 4 _ _ _ 7 9 _ _ 5 8 _ _ _ _ _ _ _ _ _ 1 9 9 1 1 8 6 _ _ 1 7 7 9 1 9 _ 1 3 9 9 9 3 9 _ 6 7 2 4 9 2 _
     

     

    Sample Output
    XXXXXXX XXXXXXX 028XXX 017XXX 028XXX XXXXXXX XXXXXXX 02222 ....... ....... ....... 010XXX XXX34 ....... ....... ....... ....... ....... XXX14 ....... ....... 01613 ....... ....... XXX22 ....... ....... ....... ....... XXXXXXX XXXXXXX XXX16 ....... ....... XXXXXXX XXXXXXX XXXXXXX 001XXX 020XXX 027XXX 021XXX 028XXX 014XXX 024XXX XXX35 ....... ....... ....... ....... ....... ....... ....... XXXXXXX 00734 ....... ....... ....... ....... ....... ....... XXX43 ....... ....... ....... ....... ....... ....... ....... XXX30 ....... ....... ....... ....... ....... ....... XXXXXXX
     

     

    Author
    shǎ崽
     

     

    Source
     

     

    Recommend
     
     
     
     
     

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    char a[105][105];

    void pd(int x,int y,int m,int n)
    {
        if(a[x][y]>='1'&&a[x][y]<='9')
        {
            printf(".......");
            return ;
        }
        int sum1=0,sum2=0;
        int flag1=0;
        int flag2=0;
        if(x==m)
            flag1=1;
        if(y==n)
            flag2=1;
        for(int i=x+1; i<=m; i++)
        {
            if(a[x+1][y]=='_')
                flag1=1;
            if(a[i][y]=='_')
                break;
            sum1=sum1+(a[i][y]-'0');
        }
        for(int j=y+1; j<=n; j++)
        {
            if(a[x][y+1]=='_')
                flag2=1;
            if(a[x][j]=='_')
                break;
            sum2=sum2+(a[x][j]-'0');
        }
        if(flag1==1&&flag2==1)
        {
            printf("XXXXXXX");

        }
        else if(flag1==1&&flag2==0)
        {
                printf("XXX");
                printf("\");
                printf("%03d",sum2);


        }
        else if(flag1==0&&flag2==1)
        {
                printf("%03d",sum1);
                printf("\");
                printf("XXX");
        }
        else if(flag1==0&&flag2==0)
        {
                printf("%03d\%03d",sum1,sum2);
        }

    }
    int main()
    {
        int m,n;
        int t;
        scanf("%d",&t);
        while(t--)
        {
            memset(a,0,sizeof(a));
            scanf("%d%d",&m,&n);
            getchar();
            for(int i=1; i<=m; i++)
            {
                for(int j=1; j<=n; j++)
                {
                    //scanf("%c",&a[i][j]);
                    cin >> a[i][j];
                }

            }
            char ch=' ';
            for(int i=1; i<=m; i++)
            {
                for(int j=1; j<=n; j++)
                {
                    /*if(a[1][1]!='_')
                        a[1][1]='_';*/
                    pd(i,j,m,n);
                    if(j!=n)
                        printf("%c",ch);
                }
                printf(" ");
            }
            printf(" ");
        }
        return 0;
    }

  • 相关阅读:
    C++ 引用与常量
    树的三种存储方法
    二叉树 基本运算
    Win10阻止电脑关机时弹出正在关闭应用的方法及恢复
    使用spring+quartz配置多个定时任务(包括项目启动先执行一次,之后再间隔时间执行)
    MySQL为某数据库中所有的表添加相同的字段
    Mysql定时任务详情
    MYSQL存储过程即常用逻辑
    后台发送请求,HttpClient的post,get各种请求,带header的请求
    java后台发送请求获取数据,并解析json数据
  • 原文地址:https://www.cnblogs.com/13224ACMer/p/4445093.html
Copyright © 2011-2022 走看看