146. 잘못된 어음 (15 점)

C 시간 제한: 1 밀리초 |  C 메모리 제한: 3000 Kb 제목 내용:    어떤 비밀 기관 에서 어떤 어음 을 발 급 했 고 연말 에 모두 회수 해 야 한다.    모든 어음 에는 유일한 ID 번호 가 있다.연간 모든 어음 의 ID 번 호 는 연속 적 이다.    하지만 ID 의 시작 숫자 는 무 작위 로 선 정 됩 니 다.    스 태 프 의 부주의 로 ID 를 입력 하 는 중 오류 가 발생 했 습 니 다.    어떤 ID 가 끊 기 고 다른 ID 가 다시 생 겼 습 니 다.    당신 의 임 무 는 프로 그래 밍 을 통 해 번호 가 끊 긴 ID 와 다시 번 호 를 찾 는 것 입 니 다.    단 호 는 최대 와 최소 사이즈 에서 발생 할 수 없다 고 가정 하 세 요.프로그램 에 먼저 정수 N (N < 100) 을 입력 하여 뒤의 데이터 줄 수 를 표시 하도록 요구 합 니 다.이어서 N 줄 데 이 터 를 읽 습 니 다.줄 마다 데이터 길이 가 다 르 고 빈 칸 으로 나 누 어 진 몇 개 (100 개 이상) 의 정수 (100000 개 이상) 입 니 다. 모든 정 수 는 하나의 ID 번 호 를 대표 합 니 다.프로그램 에 한 줄 을 출력 하고 두 개의 정수 m n 을 포함 하 며 빈 칸 으로 구분 하도록 요구 합 니 다.그 중에서 m 는 끊 긴 ID 를 표시 합 니 다.n 표시 중 번호 ID 예 를 들 어 사용자 입력: 256 8 11 9 10 12 9 프로그램 출력: 7 9 예 를 들 어 사용자 입력: 6164 178 108 109 180 155 141 159 104 118 118 137 184 124 125 129 168 196172 189 127 107 112 103 131 133 169 158 128 128 102 110 148 139 157 195 197185 152 106 123 123 122 136 174 191 145 145 145 143 120 161 134 190149 138 142 146 199 126 165 153 193 144 166 171 132 101 194 187 188113 130 176 154 177 120 117 114 183 186 181 100 163 167 147 198 111 119 프로그램 출력: 105 120 입력 설명 요구 프로그램 은 먼저 정수 N (N < 100) 을 입력 하여 뒤의 수 를 줄 수 있 음 을 나타 낸다.이어서 N 줄 데 이 터 를 읽 습 니 다.줄 마다 데이터 길이 가 다 르 고 빈 칸 으로 나 누 어 진 몇 개 (100 개 이상) 의 정수 (100000 개 이상) 입 니 다. 모든 정 수 는 하나의 ID 번 호 를 대표 합 니 다.출력 설명 은 프로그램 이 한 줄 을 출력 하고 두 개의 정수 m n 을 포함 하 며 빈 칸 으로 구분 해 야 합 니 다.그 중에서 m 는 단 호 ID 를 표시 하고 n 은 중 호 ID 입력 샘플 25, 68, 11, 9, 10, 12 9 출력 샘플 7, 9
#include
#include
#include<string.h> 
#include
using namespace std;
const int maxn =1000;
int b[maxn];    
int c = 0;
int main(){
    int n;
    cin>>n;
    memset(b,0,sizeof(b)); 
    getchar();
    for(int i=1;i<=n;i++){
        char s[maxn];
        gets(s);
        int a[maxn];
        memset(a,0,sizeof(a));
        int n1=0,n2=0;
        int k=1;
        int pp;
        for(int j = 0;s[j]!='\0';j++,pp=j){
            if(s[j]==' '){
                a[k++] = j;
                //cout<
            }    
        }//cout<//cout<
        a[k] = pp;
        int kk=0;
        for(int j =0;j1];j++){
            kk = kk*10+(s[j]-'0');
        }
    //    cout<
        b[c++] = kk;
        for(int j=2;j<=k;j++){
            int m  =0;
            for(int z =a[j-1]+1;z){
m= m*10+(s[z]-'0');
            }
        //    cout<
            b[c++] = m;
        }    
    }
    sort(b,b+c);
//    for(int i = 0;i//        cout<//    cout<
    int ans1,ans2;
    for(int i=0;i1;i++){
        if(b[i]+2==b[i+1]){
            ans1 = b[i]+1;
        }
        if(b[i]==b[i+1])
            ans2 = b[i];
    }
    cout<" "<endl;
    return 0;
}

좋은 웹페이지 즐겨찾기