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;
    }
  • 相关阅读:
    OpenWrt VTun Client
    LibreSpeed install on centos
    信号频道带宽、符号率、速率对应关系
    DVB相关标准
    Cisco Switch STP
    TROUBLESHOOTING MULTICAST ROUTING
    企业ERP核心模型与云计算生态
    Istio介绍(1)
    ServiceMesh案例
    Jenkins流水线发布实现CICD到Kubernetes
  • 原文地址:https://www.cnblogs.com/redipS/p/5810360.html
Copyright © 2011-2022 走看看