整数去重(信息学奥赛一本通-T1117)
生活随笔
收集整理的這篇文章主要介紹了
整数去重(信息学奥赛一本通-T1117)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目描述】
給定含有n個整數的序列,要求對這個序列進行去重操作。所謂去重,是指對這個序列中每個重復出現的數,只保留該數第一次出現的位置,刪除其余位置。
【輸入】
輸入包含兩行:
第一行包含一個正整數n(1 ≤ n ≤ 20000),表示第二行序列中數字的個數;
第二行包含n個整數,整數之間以一個空格分開。每個整數大于等于10、小于等于5000。
【輸出】
輸出只有一行,按照輸入的順序輸出其中不重復的數字,整數之間用一個空格分開。
【輸入樣例】
5
10 12 93 12 75
【輸出樣例】
10 12 93 75
【源程序】
#include<iostream> using namespace std; int main() {int n;int a[20001];bool b[20001];int i,j;cin>>n;//輸入數組大小nfor(i=1; i<=n; i++){cin>>a[i];//輸入元素b[i]=true;//初始化為沒有重復}for(i=1; i<=n; i++)if(b[i])//判斷a[i]是否被標記為重復for(j=i+1; j<=n; j++) //尋找a[i]后是否有重復的數if(a[i]==a[j])//如果有重復的數b[j]=false;//標記為不能輸出for(i=1; i<=n; i++) //輸出沒有重復的數if(b[i]==true)cout<<a[i]<<" ";cout<<endl;return 0; }?
總結
以上是生活随笔為你收集整理的整数去重(信息学奥赛一本通-T1117)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛C++语言:输出亲朋字符串
- 下一篇: 整型与布尔型的转换(信息学奥赛一本通-T