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。假設斷號不可能發生...