日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2017-AHU校赛网络赛解题报告

發(fā)布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2017-AHU校赛网络赛解题报告 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

E題的網(wǎng)絡(luò)流還不會,先放著。由于打網(wǎng)絡(luò)賽的時候在南京玩,隨便找了家網(wǎng)吧做了前面幾題,后面的幾題由于比賽結(jié)束還沒有放到OJ上評測,但都和AC的代碼對拍100項以上沒問題的,不出意外都能A。(這是個flag···)

A.成功人士

題面:

Description
學(xué)校里共有n個學(xué)生,m門課,如果某個學(xué)生在某門課中拿到了最高分(可以是并列),則這個學(xué)生是成功人士。現(xiàn)在給出n個學(xué)生的m門課的成績,問有多少個成功人士。

Input
第一行,一個整數(shù)t,表示測試數(shù)據(jù)組數(shù),(1<=t<=100)
對于每組測試數(shù)據(jù),第一行兩個整數(shù),n和m,(1<=n,m<=50)
接下來n行,每一行有m個數(shù)字(中間不分隔),表示這個學(xué)生每門課的成績,其中成績?yōu)?-9的整數(shù)。

Output
每組測試數(shù)據(jù),一個整數(shù),表示有多少個成功人士。

Sample Input
2
3 3
223
232
112
3 5
91728
11828
11111

Sample Output
2
3

思路:

在第一次循環(huán)讀入成績的時候,得出每一門的最高成績并記錄。之后再掃一遍數(shù)人數(shù)就行了。

代碼:

#include<iostream> #include<cstdio> #include<cstring> using namespace std; typedef struct {char grade[60];//由于題面上各個成績之間沒有空格,所以干脆用字符串進行處理 } Stu; int main() {int m,n,t;Stu student[60];cin>>t;while(t--){char maxn[60];memset(maxn,'0',sizeof(maxn));memset(student,0,sizeof(student));cin>>n>>m;for(int i=0;i<n;++i){for(int j=0;j<m;++j){cin>>student[i].grade[j];if(student[i].grade[j]>maxn[j])maxn[j]=student[i].grade[j];}}int ans=0;for(int i=0;i<n;++i){for(int j=0;j<m;++j){if(student[i].grade[j]==maxn[j]){ans++;//找到一個記錄后記得跳出這一層循環(huán),因為不管一個人的成績有多少門第一,都只能算一次。break;}}}cout<<ans<<endl;}return 0; }

B.迭代歸一

題面:

Description
我們把一個正整數(shù)的每一位上的數(shù)字加起來,得到新的數(shù)字,我們把這樣的一次操作稱為一次迭代變換。直到這個數(shù)字只有一位數(shù)。
如,9876經(jīng)過一次變換成為9+8+7+6=30,經(jīng)過第二次變換成為3+0=3,結(jié)束。
那么9876就經(jīng)過了兩次迭代變換。如今給一個正整數(shù),問需要迭代變換多少次后會停止。

Input
一個整數(shù)t,表示測試數(shù)據(jù)組數(shù)(1<=t<=100)。
對于每組測試數(shù)據(jù),只有一行,表示一個正整數(shù),正整數(shù)最多有100000位。

Output
輸出若干行,每行對應(yīng)每組數(shù)據(jù)需要迭代變換的次數(shù)

Sample Input
3
2
10
99999999

Sample Output
0
1
2

思路:

由于正整數(shù)比較大,所以用數(shù)組進行保存。但處理過一次就不需要了,拿int存就夠了。
純模擬題,按題意敲就行了。

代碼:

#include<iostream> #include<cstring> #include<cstdlib> using namespace std; int main() {int t;cin>>t;while(t--){char number[100000];memset(number,0,sizeof(number));cin>>number;long long a=0,b=0;//比賽的時候以防萬一用的是long long,但其實int應(yīng)該也夠了int len=strlen(number);if(len==1){cout<<"0"<<endl;continue;}int ans=1;for(int i=0;i<len;++i)b+=number[i]-'0';//轉(zhuǎn)化為數(shù)字while(b>=10){int a=0;while(b>0){a+=b%10;b/=10;}b = a;ans++;}cout<<ans<<endl;}return 0; }

C.置換的魔術(shù)

題面:

Description
有n個正整數(shù),其中1到n的正整數(shù)出現(xiàn)且只出現(xiàn)一次的序列,稱為1-n的一個排列。
如1,2,3和3,1,2都是1-3的排列,但是1,3,3不是1-3的排列。
如今,給n個數(shù),問最少修改幾個數(shù),可以使得序列成為1-n的一個排列。

Input
一個整數(shù)t,表示測試數(shù)據(jù)的組數(shù),(1<=t<=210)
對于每一組測試數(shù)據(jù),第一行為一個整數(shù)n,(1 <= n <= 500)
第二行有n個整數(shù)a1,a2,……an,空格分隔,(ai為任意的32位有符號正整數(shù))。
保證多組數(shù)據(jù)中的n的和不超過100000。

Output
每組測試數(shù)據(jù),輸出一個整數(shù),表示最少修改幾個數(shù)。

Sample Input
2
5
1 3 2 4 5
6
1 1 1 1 1 1

Sample Output
0
5

思路:

給的數(shù)有可能是負數(shù)或者是大于n的數(shù),要小心。
用一個bool數(shù)組標記一下,最后掃一遍計數(shù)應(yīng)該就可以了。

代碼:

#include<iostream> #include<cstdlib> #include<cstring> #include<cstdio> using namespace std; int main() {int T;cin>>T;while(T--){int n;int a[510];bool flag[510];memset(flag,true,sizeof(flag));cin>>n;for(int i=0;i<n;++i){cin>>a[i];if(a[i]>0&&a[i]<=n)//控制數(shù)據(jù)范圍flag[a[i]]=false;}int cnt=0;for(int i=1;i<=n;++i){if(!flag[i])cnt++;}cout<<cnt<<endl;}return 0; }

D.買買買

題面:

Description
一天Alice打開了她日常玩的游戲,發(fā)現(xiàn)她里面還有n個游戲幣,她想把這些游戲幣花光。
現(xiàn)在可以買的一共三種道具,分別是房子(每一個價值1234567個游戲幣),車子(每一個價值123456個游戲幣),電腦(每一個價值1234個游戲幣)。
現(xiàn)在她想知道,通過買這三種道具是否可以把n個游戲幣全部花光。

Input
第一行,一個數(shù)字t(1<=t<=100)。代表測試數(shù)據(jù)數(shù)量。
對于每一組測試數(shù)據(jù),一個整數(shù)n(1<=n<=1000000000),代表現(xiàn)在的游戲幣。

Output
輸出n行,每行輸出”YES”或者”NO”,表示她可以或者不可以把游戲幣全部花光。

Sample Input
2
1359257
17851817

Sample Output
YES
NO

思路:

由于車,房子的價值都很大,所以能用枚舉逐個嘗試。然后把剩下的錢看對于電腦的錢取%,看是否為零就行了。

代碼:

#include<iostream> #include<cstdlib> #define HOUSE 1234567 #define CAR 123456 #define COM 1234 using namespace std; int main() {cin.sync_with_stdio(false);int T;cin>>T;while(T--){bool flag=false;long long n;cin>>n;int mh=n/HOUSE;for(int i=0;i<=mh;++i){int mcar=(n-i*HOUSE)/CAR;for(int j=0;j<=mcar;++j)if((n-i*HOUSE-j*CAR)%COM==0){flag=true;}if(flag)break;}if(flag)cout<<"YES\n";elsecout<<"NO\n";}return 0; }

F.周末大法好

題面:

Description
在火星上,每年有x天。驚奇的是,和地球上一樣,火星上也是有星期的概念的,連續(xù)的5天工作日,然后連續(xù)的2天周末。他們只有周末放假。
現(xiàn)在你的任務(wù)是,確定火星上每年可能的最少放假的天數(shù)和最多放假的天數(shù)。

Input
第一行,一個數(shù)字n。代表測試數(shù)據(jù)數(shù)量。
接下來n行,每行一個整數(shù)x (1<=x<=1,000,000),代表火星每年有x天。

Output
輸出n行,每行兩個整數(shù)。代表火星上每年可能的最少放假的天數(shù)和最多放假的天數(shù)。

Sample Input
2
14
2

Sample Output
4 4
0 2

思路:

先把一年天數(shù)除以7乘以2,這是最少的放假天數(shù)。
然后一年天數(shù)對7取%,剩下的如果是6,則最少天數(shù)還要再加一。
而最多的天數(shù)應(yīng)該是至少的放假天數(shù)加上min(一年天數(shù)%7,2),因為如果只剩下一天了,最多只能放假一天。而其他情況則可以是在一年開頭多過一個周末(也就是兩天)

代碼:

#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() {int t;cin>>t;while(t--){int x;cin>>x;int Min=x/7*2,Max;int mod=x%7;if(mod==6)Min++;Max=x/7*2+min(mod,2);cout<<Min<<" "<<Max<<endl;}return 0; }

G. 交換大法好

題面:

Description
有一天,天上掉餡餅了。不過不是直接掉餡餅,是告訴你你將要得到的餡餅的數(shù)量a。聰明的你得到了一種魔法,可以在整數(shù)a中交換任意兩個相鄰的數(shù)字。而這種魔法,你最多只能使用k次。你使用魔法操作a,得到的最大的結(jié)果就是你最終獲得的餡餅數(shù)量。

你最多可以獲得的餡餅數(shù)量是多少呢?

Input
第一行,一個數(shù)字n(1<=n<=60)。代表測試數(shù)據(jù)數(shù)量。
接下來n行,每行兩個整數(shù)a和k(1<=a<=1,000,000,000; 0<=k<=100)。

Output
輸出n行,每行一個整數(shù),代表你最多使用魔法k次,可以得到的最大的數(shù)字。

Sample Input
2
1990 1
1034 2

Sample Output
9190
3104

思路:

暴力找

代碼:

#include<iostream> #include<cstring> #include<cstdlib> using namespace std; void swap(char *a,char *b) {char t=*a;*a=*b;*b=t; } int main() {int T;cin>>T;while(T--){char s[20];int k;cin>>s>>k;int len=strlen(s);if(len==1){cout<<s<<endl;continue;}char Max='0';int Maxid=-1;for(int i=0;i<len;++i){if(k<=0)break;Max = s[i]; Maxid = i;for(int j=i;j<=i+k&&j<len;++j){if(s[j]>Max){Max=s[j];Maxid=j;}}k-=Maxid-i;for(int x=Maxid;x>i;--x)swap(&s[x],&s[x-1]);}cout<<s<<endl;}return 0; }

H. 今年多少歲

題面:

Description
小明出生于1937年7月7日,問對于給定的日期,小明幾周歲了,不足一周年的部分可以忽略。
注意:1938年7月6日,小明0周歲,1938年7月7日小明1周歲,同理1939年7月6日,小明1周歲,1939年7月7日,小明2周歲。

Input
一個整數(shù)t(1<=t<=100),表示數(shù)據(jù)組數(shù)
對于每組測試數(shù)據(jù),三個整數(shù),逗號隔開,分別表示給定日期的年、月、日。給定的日期保證合法, 而且一定是小明出生后的日期,且小明的歲數(shù)保證在100以內(nèi)。

Output
對于每一組數(shù)據(jù),輸出一個整數(shù),表示小明的周歲數(shù)。

Sample Input
2
1938 7 6
1938 7 7

Sample Output
0
1

思路:

先年份相減,然后看月份和日期,若不夠一年,則結(jié)果減一。真·簽到題,沒啥說的。

代碼:

#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() {const int year=1937,month=7,day=7;int T;cin>>T;while(T--){int y,m,d;cin>>y>>m>>d;int ans=0;ans=y-year;if(m<month)ans--;if(m==month&&day>d)//如果不夠一年的情況ans--;cout<<ans<<endl;}return 0; }

總結(jié)

以上是生活随笔為你收集整理的2017-AHU校赛网络赛解题报告的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91麻豆精品国产91久久久久久久久 | 在线91观看 | 久射网| 天堂免费在线视频 | 黄色三级带 | 桃色在线视频 | 人妻少妇偷人精品久久性色 | 成年人激情网站 | 骚色综合 | 在线观看久草 | 97人人艹 | 麻豆精品视频在线观看 | 日韩成人免费在线视频 | 成年人视频在线观看免费 | 久久成人国产精品入口 | 国产字幕在线观看 | 伊人精品在线观看 | 亚洲精品日本 | 久久青 | 国产精品视频久久久久久 | 亚洲综合日韩精品欧美综合区 | 特黄1级潘金莲 | 成人欧美一区二区三区黑人免费 | 免费看片成人 | 欧美亚洲色综久久精品国产 | 亚洲精品国产电影 | 岛国精品一区 | 国产性―交一乱―色―情人 | 性欧美极品 | 午夜视频一区 | 亚洲在线免费视频 | 亚洲欧美日韩中文字幕在线观看 | 成人在线视频免费观看 | av猫咪 | 欧洲女性下面有没有毛发 | 天堂网中文 | 一级黄色免费片 | av在线一 | 国产黄色一级网站 | 一区二区三区视频网站 | 一区二区三区高清不卡 | 精品一区二区三区国产 | 91久久国产视频 | 日韩久久免费视频 | 欧美国产日韩综合 | 狠狠干影视 | a色网站| 美女色av | 国产黄色录像片 | 亚洲一区欧美 | 亚洲天堂欧美在线 | 特黄特色特刺激免费播放 | 亚洲一二三四五 | 色九月婷婷 | 黄色成年人 | 欧美黑人精品一区二区不卡 | 日本激情小视频 | 男人天堂av电影 | 大粗鳮巴久久久久久久久 | 久久久久久久久久久97 | 蜜桃视频在线观看www | 美女黄视频网站 | 狠狠的干狠狠的操 | 日韩欧美日本 | 国产麻豆乱码精品一区二区三区 | 亚洲国产无线乱码在线观看 | 老司机午夜免费福利 | 中文字幕av播放 | 久久影库 | 欧美人xxxx| 亚洲国产精品视频一区 | 亚洲欧美激情另类校园 | 国产精品又黄又爽又色无遮挡 | 好男人www日本 | 成为性瘾网黄的yy对象后 | 欧美日韩国产一区二区 | 中文一区在线 | 丰满少妇一级 | 日韩极品一区 | 国产乱码精品一区二三区蜜臂 | 黄色成人在线视频 | av影片在线 | 日韩中文字幕免费在线观看 | 夜夜夜夜操 | 日本一区二区免费在线观看 | 精品国产乱码久久久久久牛牛 | 在线国产小视频 | 日韩不卡免费视频 | 精品一区二区三区av | 伊人资源网 | 99久精品 | 国产嗷嗷叫| fexx性欧美 | 色综合久久久久久 | 国产成a人亚洲精v品无码 | 国产一级一片免费播放 | 九九小视频 | 黑人超碰 | 久久先锋|