zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    执行eclipse,迅速failed to create the java virtual machine。
    hdu4000 &amp;&amp; hrbust1625
    linux高级技巧:heartbeat+lvs(一)
    Android-它们的定义Dialog
    @repository注解
    常用myeclipse的快捷键,对菜鸟超有用的
    myEclipse快捷键
    JDK 1.6.0和 6.0 有啥区别,JavaTM SE 6 的平台名字和版本号的说明(转)
    Cannot return from outside a function or method
    eclipse报错 com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil 转
  • 原文地址:https://www.cnblogs.com/shenben/p/5539006.html
Copyright © 2011-2022 走看看