• 1524 残缺的数字


    1524 残缺的数字

     

     时间限制: 1 s
     空间限制: 1000 KB
     题目等级 : 黄金 Gold
     
     
    题目描述 Description

    可怜的小小在数数字……。本来有1..n这n个数,但是她一不小心数没了一个数X。如果这个事情被残酷的Evil Zig 发现,那么这个可怜的小女孩将会……。为了拯救小小我们必须找到那个失踪的数X!现在我们现在只知道 0..9个十个数字在这剩下的N-1个数中分别出现的次数,你必须以次求出N和X。若有多组解,则全部输出,每行一组。

    输入描述 Input Description

    仅有一行,包含10个数,分别表示0 .. 9在n-1个数字中出现的次数。( 每个数均不大于300 )

    输出描述 Output Description

    输入所有可能的N和X,每组一行。按从小到大的顺序排序(N为第一关键字,X为第二关键字)。若无解,输出“NO ANSWER”。

    样例输入 Sample Input

    0 1 1 0 1 1 1 1 1 1

    样例输出 Sample Output

    9 3

    数据范围及提示 Data Size & Hint
     

    分类标签 Tags 

    首先说一下:数据太水

    本题,就是一模拟,一人一习惯,貌似我的写的很长了。

    代码

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int num[10];
    int s[10],s1[10];
    int main(){
        int n,m,l;//暂时储放器 
        int e=0,d=0,z=0;//计数+标志 
        for(int i=0;i<=9;i++){
            scanf("%d",num+i);
            if(num[i]>=300){
                d=3;
            }
        }
        if(z!=10&&d!=3){
            for(int i=1;i<=3000;i++){//大约在数据范围内 
                m=i;//~~以下开始模拟,具体自己看看 
                while(i!=0){    
                    l=i%10;
                    s[l]+=1;
                    i/=10;    
                }
                i=m;
                for(int j=1;j<=i;j++){
                    for(int c=0;c<=9;c++){
                        s1[c]=s[c];
                    }
                    n=j;
                    while(j!=0){
                        l=j%10;
                        s[l]-=1;
                        j=j/10;
                    }
                    for(int c=0;c<=9;c++){
                        if(num[c]==s[c]) e++;
                        else break;
                    }
                    j=n;
                    if(e==10){
                        printf("%d %d",i,j);d=1;return 0;
                    }
                    e=0;
                    for(int c=0;c<=9;c++){
                        s[c]=s1[c];
                    }
                }        
                m=0;    
            }
        }
        else d=0;
        if(d!=1) printf("NO ANSWER
    ");
        return 0;
    }
  • 相关阅读:
    JS—超酷时钟
    JS—简单年历表
    ZZULI 1783 简单的求和
    ZZULI 1788 小金刚的宝藏(01背包模板)
    HDU 5172 GTY's gay friends(BestCoder Round #29)
    HDU 2157 How many ways??
    HDU 5171 GTY's birthday gift(BestCoder Round #29)
    在SQL Server 中启用 FileStream
    (转载)SQL Server的一个不显眼的功能 备份文件的分割
    面向对象建模方法与数据库建模方法的比较
  • 原文地址:https://www.cnblogs.com/shenben/p/5539006.html
Copyright © 2020-2023  润新知