第1題???? 精挑細選 ????時限:1s 空間:256m
小王是公司的倉庫管理員,一天,他接到了這樣一個任務:從倉庫中找出一根鋼管。這聽起來不算什么,但是這根鋼管的要求可真是讓他犯難了,要求如下:
1、 這根鋼管一定要是倉庫中最長的;
2、 這根鋼管一定要是最長的鋼管中最細的;
3、 這根鋼管一定要是符合前兩條的鋼管中編碼最大的(每根鋼管都有一個互不相同的編碼,越大表示生產日期越近)。
相關的資料到是有,可是,手工從幾百份鋼管材料中選出符合要求的那根……
要不,還是請你編寫個程序來幫他解決這個問題吧。
輸入格式
文件第一行為一個整數(shù)?( ),表示倉庫中所有鋼管的數(shù)量。
之后?行,每行三個整數(shù),分別表示一根鋼管的長度(以毫米為單位)、直徑(以毫米為單位)和編碼(一個9位整數(shù))。
輸出格式
文件中只有一個9位整數(shù),表示選出的那根鋼管的編碼。
輸入/輸出例子1
輸入:
4
3000 50 872198442
3000 45 752498124
2000 60 765128742
3000 45 652278122
輸出:
752498124
#include<bits/stdc++.h>
using namespace std;
long long n,a[100005],b[100005],c[100005],maxx=0,minn=99999,maxa=0;
int main(){scanf("%lld",&n);for(int i=1;i<=n;i++){scanf("%lld%lld%lld",&a[i],&b[i],&c[i]);if(a[i]>maxx)maxx=a[i];}for(int i=1;i<=n;i++){if(a[i]==maxx&&b[i]<minn)minn=b[i];}for(int i=1;i<=n;i++){if(a[i]==maxx&&b[i]==minn&&c[i]>maxa)maxa=c[i];}cout<<maxa;return 0;
}
第2題???? 外幣兌換 ????時限:1s 空間:256m
小明剛從美國回來,發(fā)現(xiàn)手上還有一些未用完的美金,于是想去銀行兌換成人民幣??墒锹犝f最近人民幣將會升值,并從金融機構得到了接下來十二個月可能的美元對人民幣匯率,現(xiàn)在,小明想要在接下來一年中把美金都兌換成人民幣,請問最多能得到多少人民幣?
輸入格式
輸入的第一行是一個實數(shù)N(1.00<=N<=100.00),表示小明現(xiàn)有的美金數(shù)量。
接下來一行,包含12個實數(shù)ai,表示接下來十二個月的美元對人民幣匯率。
輸出格式
輸出一個小數(shù)R,表示小明最多能獲得的人民幣數(shù)量,結果保留兩位小數(shù)。
輸入/輸出例子1
輸入:
46.91
6.31 6.32 6.61 6.65 5.55 5.63 6.82 6.42 6.40 5.62 6.78 5.60
輸出:
319.93
#include<bits/stdc++.h>
using namespace std;
double n,a[1005],maxx=0;
int main(){cin>>n;for(int i=1;i<=12;i++){cin>>a[i];if(a[i]>maxx)maxx=a[i];}printf("%.2lf",maxx*n);return 0;
}
第3題???? 相對高度 ????時限:1s 空間:256m
小明是班上的體育委員,體育老師要求小明記錄班上每位同學的身高。但小明的記錄方式讓體育老師很為難,因為他只記錄了每位同學與自己身高的差值,正數(shù)表示比小明高的,負數(shù)表示比小明矮的?,F(xiàn)在,已知了小明的身高,和每位同學與小明身高的差值,求每位同學的身高。體育老師賺麻煩,找到學編程的你,你能幫助他嗎?
輸入格式
第一行兩個數(shù)H、N(1<=N<=100),其中H為小明的身高,N表示班上還有N位同學.
第二行有N個整數(shù),第?i個整數(shù)表示第i個同學與小明身高的差值。?
輸出格式
???共N+1個數(shù),即全班同學的身高。?(保留2位小數(shù))
輸入/輸出例子1
輸入:
?1.42? 3
?0.02? 0.25? -0.12
輸出:
?1.42 1.44 1.67 1.30
#include<bits/stdc++.h>
using namespace std;
long long m;
double n,a[1500];
int main(){cin>>n>>m;printf("%.2lf ",n); for(int i=1;i<=m;i++){cin>>a[i];if(a[i]<0)printf("%.2lf ",n-a[i]);else printf("%.2lf ",n+a[i]);}return 0;
}
第4題???? 小魚的數(shù)字游戲 ????時限:1s 空間:256m
小魚最近被要求參加一個數(shù)字游戲,要求它把看到的一串數(shù)字?ai(長度不一定,以?0?結束),記住了然后反著念出來(表示結束的數(shù)字?0?就不要念出來了)。這對小魚的那點記憶力來說實在是太難了,你也不想想小魚的整個腦袋才多大,其中一部分還是好吃的肉!所以請你幫小魚編程解決這問題。
輸入格式
一行內輸入一串整數(shù),以?0?結束,以空格間隔。
輸出格式
一行內倒著輸出這一串整數(shù),以空格間隔。
輸入/輸出例子1
輸入:
3?65?23?5?34?1?30?0
輸出:
30?1?34?5?23?65?3
樣例解釋
數(shù)據(jù)規(guī)模與約定
對于?100%的數(shù)據(jù),保證0≤ai≤231?1,數(shù)字個數(shù)不超過?100。
#include<bits/stdc++.h>
using namespace std;
long long a[100005];
int main(){for(long long i=1;;i++){scanf("%lld",&a[i]);if(a[i]==0){for(long long j=i-1;j>=1;j--){printf("%lld ",a[j]);}return 0;}}return 0;
}
第5題???? 最長平臺 ????時限:1s 空間:256m
小S來到一塊階梯地,這一塊階梯地具有連續(xù)的n小塊地,每一小塊地都有一定的高度,如果連續(xù)m段地的高度相同,那么我們稱這連續(xù)一段地的平地值為m?,F(xiàn)在給出這一塊階梯地每一塊地的高度值,請試編寫一個程序,把這塊階梯地平地值最大者找出來,并輸出該平地值。
輸入格式
第一行一個正整數(shù)n?,n<=10000.
第二行n個正整數(shù),表示地的高度。
輸出格式
最大平地值
輸入/輸出例子1
輸入:
10
1 2 2 3 3 3 4 5 5 6
輸出:
3
#include<bits/stdc++.h>
using namespace std;
long long n,a[100005],maxx=0,s=1;
int main(){scanf("%lld",&n);for(long long i=1;i<=n;i++){scanf("%lld",&a[i]);}for(long long i=1;i<n;i++){if(a[i]==a[i+1]){s++;if(s>maxx){maxx=s;}}else s=1;}printf("%lld",maxx);return 0;
}
第6題???? 可愛的小魚 ????時限:1s 空間:256m
人比人,氣死人;魚比魚,難死魚。小魚最近參加了一個“比可愛”比賽,比的是每只魚的可愛程度。參賽的魚被從左到右排成一排,頭都朝向左邊,然后每只魚會得到一個整數(shù)數(shù)值,表示這只魚的可愛程度,很顯然整數(shù)越大,表示這只魚越可愛,而且任意兩只魚的可愛程度可能一樣。由于所有的魚頭都朝向左邊,所以每只魚只能看見在它左邊的魚的可愛程度,它們心里都在計算,在自己的眼力范圍內有多少只魚不如自己可愛呢。請你幫這些可愛但是魚腦不夠用的小魚們計算一下。
輸入格式
第一行輸入一個整數(shù)?n,表示魚的數(shù)目,n<=100。
第二行內輸入?n個整數(shù),用空格間隔,依次表示從左到右每只小魚的可愛程度,數(shù)據(jù)范圍[0,10^8]。
輸出格式
一行輸出?n個整數(shù),用空格間隔,依次表示每只小魚眼中有多少只魚不如自己可愛。
輸入/輸出例子1
輸入:
6
4 3 0 5 1 2
輸出:
0 0 0 3 1 2
#include<bits/stdc++.h>
using namespace std;
long long n,a[100],sum[100];
int main(){scanf("%lld",&n);for(long long i=0;i<n;i++){cin>>a[i];for(long long j=i;j>0;j--)if(a[i]>a[j-1])sum[i]++;}for(long long i=0;i<n;i++)cout<<sum[i]<<' ';return 0;
}
第7題???? 擋住視線 ????時限:1s 空間:256m
午飯時間在飯?zhí)门抨牬蝻?。一行隊伍中有N個人,小明站在隊伍中第k個位置,身高高于小明的同學就會擋住小明的視線。請找出隊伍中離小明最近且擋住小明視線的人。
輸入格式
??? 第一行有一個正整數(shù)N,表示隊伍中的人數(shù)。
????第二行有N個正整數(shù)ai,依次給出隊伍中排隊者的身高。
????第三行有一個正整數(shù)k,表示小明在隊伍中的位置。
【數(shù)據(jù)范圍】
100%數(shù)據(jù), 1<= N<=100000, k<=100000,100<= ai<200;
輸出格式
輸出小明的前面離小明最近且擋住小明視線的人的位置。如果前面沒有人擋住小明視線,就輸出-1。
輸入/輸出例子1
輸入:
6
132 ?127 ?134 ?127 ?137 ?140
4
輸出:
3
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[100005],k;
int main(){scanf("%lld",&n);for(long long i=1;i<=n;i++){scanf("%lld",&a[i]);}scanf("%lld",&m);for(long long i=m-1;i>=1;i--){if(a[m]<a[i]){printf("%lld",i);return 0;}}printf("-1");return 0;
}
第8題???? 中位數(shù) ????時限:1s 空間:256m
中位數(shù)指的是一組數(shù),如果按照大小排序排好后最中間的那個數(shù)的值,如果有偶數(shù)個元素,那么就是最中間兩個數(shù)的平均數(shù)!
比如:2 5 8 1 6,排序后的結果為1 2 5 6 8,那么這組數(shù)的中位數(shù)就是5!
再比如:8 9 1 2 3 0,排序后的結果為0 1 2 3 8 9,那么這組書的中位數(shù)就是(2+3)/2=2.5 ?
輸入格式
第一行:一個整數(shù)n代表有n個數(shù)(n≤100000)
第二行:n個數(shù)的值,數(shù)據(jù)范圍為[0,100]
輸出格式
中位數(shù)(結果保留1位小數(shù))
輸入/輸出例子1
輸入:
5
2 5 8 1 6
輸出:
5.0
#include<bits/stdc++.h>
using namespace std;
long long n,a[100005],t=0;
int main(){scanf("%lld",&n);for(int i=1;i<=n;i++){scanf("%lld",&a[i]);}sort(a+1,a+n+1);if(n%2==0){printf("%.1lf",(a[n/2]+a[n/2+1])/2.0); }else {printf("%.1lf",a[n/2+1]/1.0);}return 0;
}
第9題???? 年齡與疾病 ????時限:1s 空間:256m
某醫(yī)院想統(tǒng)計一下某項疾病的獲得與否與年齡是否有關,需要對以前的診斷記錄進行整理,按照0-18歲、19-35歲、36-60歲、61以上(含61)四個年齡段統(tǒng)計的患病人數(shù)以及占總患病人數(shù)的比例。
輸入格式
共2行,第一行為過往病人的數(shù)目n(0 < n <=?1000),第二行為每個病人患病時的年齡。
輸出格式
按照0-18、19-35、36-60、61以上(含61)四個年齡段輸出該段患病總人數(shù)以及人數(shù)占總患病人數(shù)的比例,以百分比的形式輸出,精確到小數(shù)點后兩位。每個年齡段占一行,共四行。
輸入/輸出例子1
輸入:
10
1 11 21 31 41 51 61 71 81 91
輸出:
2 20.00%
2 20.00%
2 20.00%
4 40.00%
#include<bits/stdc++.h>
using namespace std;
double s1,s2,s3,s4;
long long n,a;
int main(){scanf("%lld",&n);for(long long i=1;i<=n;i++){scanf("%lld",&a);if(a>=0&&a<=18)s1++;else if(a>=19&&a<=35)s2++;else if(a>=36&&a<=60)s3++;else if(a>60)s4++;}cout<<s1<<" ";printf("%.2lf",100.0*s1/n);cout<<"%"<<'\n';cout<<s2<<" ";printf("%.2lf",100.0*s2/n);cout<<"%"<<'\n';cout<<s3<<" ";printf("%.2lf",100.0*s3/n);cout<<"%"<<'\n';cout<<s4<<" ";printf("%.2lf",100.0*s4/n);cout<<"%";return 0;
}
第10題???? 愧疚指數(shù) ????時限:1s 空間:256m
佛山創(chuàng)文要求大家要遵守交通規(guī)則,發(fā)揚尊老愛幼精神。文文想做一個關于公交文化的調查。他專門為排隊上車發(fā)明了一套叫做“愧疚指數(shù)”的分析系統(tǒng),就是在隊列中把人分為三等:第一等為優(yōu)先級最高,最需要照顧的老人、小孩、孕婦等,應該最優(yōu)先上車,優(yōu)先代號為1;第二等是普通女人,為了發(fā)揚紳士風度,男人是要讓女人先上車的,但優(yōu)先級低于一等,優(yōu)先代號為2;第三等是普通男人,優(yōu)先級最低,應該排在最后面,優(yōu)先代號為3。所謂的“愧疚指數(shù)”是指隊列中一個人后面有多少人的優(yōu)先級比他高,如隊列中有5個人分別為:3 2 1 2 1,那么這5個人的“愧疚指數(shù)”分別為:4 2 0 1 0。現(xiàn)在已經知道一個隊列,請你幫文文算出隊列中每個人的“愧疚指數(shù)”。
輸入格式
第一行是一個正整數(shù)n,表示一共有多少個人排隊。
?第二行有n個用空格隔開的正整數(shù),它們從左至右給出了隊列中n個人的優(yōu)先代號。
對于80%的數(shù)據(jù),n≦10000;
?對于100%的數(shù)據(jù),n≦200000。
輸出格式
?輸出一行:有n個用空格分開的正整數(shù),代表隊列中每個人的“愧疚指數(shù)”。
輸入/輸出例子1
輸入:
5
3 2 1 2 1
輸出:
4 2 0 1 0
#include<bits/stdc++.h>
using namespace std;
long long s1,s2,a[1000001],b[1000001],n;
int main(){cin>>n;for(int i=1;i<=n;i++)cin>>a[i];for(int i=n;i>=1;i--){if(a[i]==1){b[i]=0;s1++;}if(a[i]==2){b[i]=s1;s2++;}if(a[i]==3)b[i]=s2+s1;}for(int i=1;i<=n;i++)cout<<b[i]<<" ";return 0;
}