zoukankan      html  css  js  c++  java
  • 水题hiho114

    wa了无数次,没有看清题意:一定和一定不

    #include <cstdio>
    #include <cstring>
    const int N=100100;
    int goal[N];
    int bombs[N];
    int ans[N];
    int n;
    int count;
    void dfs(int id){
        if(id==n) {
             if(goal[id-1]==bombs[id-1]+bombs[id-2]) {
                  if(count==0){
                      for(int i=0;i<n;i++) ans[i]=bombs[i];    
                    } 
                    else{
                          for(int i=0;i<n;i++){
                                 if(ans[i]!=bombs[i]) ans[i]=2;
                          }
                    }
                    count++;
             }
             return ;
        }
        bombs[id]=goal[id-1]-bombs[id-1]-bombs[id-2];
        if((bombs[id]==0)||(bombs[id]==1)){
            dfs(id+1);
        }
    }
    int main(){
        int t;
        int numb1,numb2;
        for(scanf("%d",&t);t--;){
            scanf("%d",&n);
            for(int i=0;i<n;i++) scanf("%d",&goal[i]);
            count = 0;
            if(n==1){
                if(goal[0]>0) printf("1 1\n0\n");
                else printf("0\n1 1\n");
                continue;
            }
            else if(goal[0]>0){
                bombs[0]=1;
                bombs[1]=goal[0]-1;
                dfs(2);
                if(goal[0]==1){
                     bombs[0]=0;
                     bombs[1]=1;
                     dfs(2);    
                }
            }
            else{
                bombs[0]=0;
                bombs[1]=0;
                dfs(2);
            }
            numb1 = numb2 = 0;
            for(int i=0;i<n;i++) {
                if(ans[i]==1) numb1++;
                else if(ans[i]==0) numb2++;
            }
            printf("%d",numb1);
            for(int i=0;i<n;i++) if(ans[i]==1) printf(" %d",i+1);
            printf("\n%d",numb2);
            for(int i=0;i<n;i++) if(ans[i]==0) printf(" %d",i+1);
            printf("\n");
        }
        return 0;
    }
  • 相关阅读:
    设计模式
    IPC- Posix与system v
    squashfs文件系统
    各种根文件系统
    SPI通讯协议
    tty各种设备的情况
    Linux系统调用过程
    uImage和zImage的区别
    jquery可见性选择器(匹配匹配所有显示的元素)
    jquery可见性选择器(匹配所有隐藏的元素)
  • 原文地址:https://www.cnblogs.com/redipS/p/5810360.html
Copyright © 2011-2022 走看看