zoukankan      html  css  js  c++  java
  • HDU5547

    我的错误代码:待修改中

    #include<iostream>
    #include<vector>
    #include<cmath>
    #include<cstring> 
    using namespace std;
    char mp[5][5];
    int num[5][5];
    vector<int> vec;
    bool judge(){
         for(int i=0;i<4;i++) {
                if((num[i][0]+num[i][1]+num[i][2]+num[i][3]==49) && (num[0][i]+num[1][i]+num[2][i]+num[3][i]==49))continue;
                else return false;
        }
        
        int t[4][2] = {{0,0},{0,2},{2,0},{2,2}}; 
        for(int i=0;i<4;i++) {
            int x = t[i][0];
            int y = t[i][1];
            if(num[x][y]+num[x+1][y]+num[x][y+1]+num[x+1][y+1]==49) continue;
            else return false;
        }
        return true;
    }
    void solve(int step){
        if(step==vec.size()){
            if(judge()){
                for(int i=0;i<4;i++){
                    for(int j=0;j<4;j++)
                        cout<<mp[i][j]; 
                    cout<<endl;
                }
            } 
            return;
        }
        for(int i=1;i<=4;i++){
            bool same = false;
            int t = vec[step];
            int r=t/4, c=t%4;
            for(int j=0;j<4;j++){
                if((int)mp[r][j]-'0'==i||(int)mp[j][c]-'0'==i){same=true;break;}
            }
            if(same) continue;
            mp[r][c] = (char)('0'+i);
            num[r][c] = i*pow(2,i-1);
            solve(step+1);
        }
    }
    int main()
    {
        int t,cas = 1;
        cin>>t;
        while(t--){
            memset(num,0,sizeof(0));vec.clear();
            for(int i=0;i<4;i++){
                for(int j=0;j<4;j++){
                    cin>>mp[i][j];
                    if(mp[i][j]=='*'){
                        vec.push_back(i*4+j);
                    }else{
                        num[i][j] = ((int)mp[i][j]-'0')*pow(2,(double)mp[i][j]-'0'-1);
                    } 
                }
            }
            printf("Case #%d:
    ",cas++);
            solve(0);
        }
        return 0;
    } 
    View Code
  • 相关阅读:
    [Shoi2007]Vote 善意的投票
    [CQOI2015]任务查询系统
    [SDOI2013]森林
    HttpClient 教程 (二)
    /system改成可写
    Netbeans 6.8 + apktool_2.0.0b9 动态调试smali文件
    把中文版NetBeans改成英文版
    ZjDroid工具介绍及脱壳详细示例
    grep过滤搜索
    android Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)
  • 原文地址:https://www.cnblogs.com/Lemon1234/p/11644034.html
Copyright © 2011-2022 走看看