Problem C 錯誤票據

2021-08-21 13:55:29 字數 953 閱讀 9284

time limit: 1 sec  memory limit: 512 mb

某涉密單位下發了某種票據,並要在年終全部收回。

每張票據有唯一的id號。全年所有票據的id號是連續的,但id的開始數碼是隨機選定的。

因為工作人員疏忽,在錄入id號的時候發生了一處錯誤,造成了某個id斷號,另外乙個id重號。

你的任務是通過程式設計,找出斷號的id和重號的id。

假設斷號不可能發生在最大和最小號。

要求程式首先輸入乙個整數n(n<100)表示後面資料行數。

接著讀入n行資料。

每行資料長度不等,是用空格分開的若干個(不大於100個)正整數(不大於100000),請注意行內和行末可能有多餘的空格,你的程式需要能處理這些空格。

每個整數代表乙個id號。

要求程式輸出1行,含兩個整數m n,用空格分隔。

其中,m表示斷號id,n表示重號id

5 6 8 11 9

10 12 9

7 9

#includeusing namespace std;

const int maxn = 100010;

int num[maxn];

int main()

else if(str[i] == ' ')

}num[a]++; //如果執行if語句,就是將該數字做下標的陣列值加加;如果執行else語句,a=0,num[0]雖然不是0了,但是下面執行語句的時候討論的是0和2,沒有其他數字;

}int i;

for(i = 1; num[i]==0; i++);//去掉a[0],找到陣列開始的下標;

long long b = 0, c = 0;

for(; i < maxn; i++)

if(num[i] == 2)

if(b && c)}}

return 0;

}

錯誤票據問題

分析 這一題的難點在於資料的讀入,n行的資料中每一行的資料都是不等長的,所以我們最好使用getchar 的方式讀入。簡單的分析,就是一共有n行,我們要讀入每一行的資料並將它們存入乙個陣列中去。期間我們需要解決當getchar 為空格和換行符時候的問題。下面給出 include include inc...

錯誤票據C

某涉密單位下發了某種票據,並要在年終全部收回。每張票據有唯一的id號。全年所有票據的id號是連續的,但id的開始數碼是隨機選定的。因為工作人員疏忽,在錄入id號的時候發生了一處錯誤,造成了某個id斷號,另外乙個id重號。你的任務是通過程式設計,找出斷號的id和重號的id。假設斷號不可能發生在最大和最...

藍橋杯 錯誤票據

題目描述 某涉密單位下發了某種票據,並要在年終全部收回。每張票據有唯一的id號。全年所有票據的id號是連續的,但id的開始數碼是隨機選定的。因為工作人員疏忽,在錄入id號的時候發生了一處錯誤,造成了某個id斷號,另外乙個id重號。你的任務是通過程式設計,找出斷號的id和重號的id。假設斷號不可能發生...