網(wǎng)站建設(shè)怎樣回答客戶問(wèn)題優(yōu)化怎么做
A: HNUCM的學(xué)習(xí)達(dá)人
SQ同學(xué)是HNUCM的學(xué)習(xí)達(dá)人,據(jù)說(shuō)他每七天就能夠看完一本書(shū),每天看七分之一本書(shū),而且他喜歡看完一本書(shū)之后再看另外一本。
現(xiàn)在請(qǐng)你編寫(xiě)一個(gè)程序,統(tǒng)計(jì)在指定天數(shù)中,SQ同學(xué)看完了多少本完整的書(shū)(假定第1本書(shū)從第1天開(kāi)始看)?輸入
單組輸入。
輸入一個(gè)不超過(guò)365的正整數(shù)N表示天數(shù)。輸出
輸出在這N天中,SQ同學(xué)已全部看完的書(shū)的數(shù)量。
樣例輸入?Copy
20樣例輸出?Copy
2
#include<stdio.h>
int main()
{int a;scanf("%d",&a);printf("%d\n",a/7);return 0;
}
?B: HNUCM的宿舍安排
HNUCM的宿舍安排有點(diǎn)意思,男生都是5人間,女生都是4人間。
現(xiàn)在已知N個(gè)學(xué)生的性別,男生和女生的性別分別用'M'和'F'表示。
請(qǐng)你編寫(xiě)一個(gè)程序計(jì)算最少需要多少間男生宿舍?多少間女生宿舍?(注:不要求每一間宿舍都住滿)。輸入
單組輸入。
輸入一行包含N個(gè)'M'和'F'的字符串,N<=1000,'M'表示男生,'F'表示女生。輸出
輸出兩個(gè)整數(shù),分別表示最少需要的男生宿舍和女生宿舍數(shù)量,兩者之間用英文空格隔開(kāi)。
樣例輸入?Copy
MMFFMMFFMFMMM樣例輸出?Copy
2 2
#include<stdio.h>
int main()
{int i,b=0,c=0,d=0,e=0,f=0;char a[1001]={0};scanf("%s",a);for(i=0;i<1001;i++){if(a[i]=='M')c++;if(a[i]=='F')d++;}if(c%5==0)printf("%d ",c/5);elseprintf("%d ",c/5+1);if(d%4==0)printf("%d\n",d/4);elseprintf("%d\n",d/4+1);return 0;
}
?C: HNUCM的社團(tuán)招新
又有一波萌新來(lái)到了HNUCM,各個(gè)社團(tuán)開(kāi)始了忙碌的招新工作。
某社團(tuán)在招新面試時(shí)設(shè)置了三個(gè)評(píng)價(jià)指標(biāo),每一個(gè)指標(biāo)的得分都是1-10之間的正整數(shù)。
該社團(tuán)的錄取規(guī)則包含以下兩條:
(1) 如果三個(gè)指標(biāo)的得分都大于等于6分可錄取;
(2) 如果有一個(gè)指標(biāo)的得分等于10,無(wú)論另外兩個(gè)指標(biāo)得分為多少,可以破格錄取。
現(xiàn)在給出n個(gè)新生的指標(biāo)得分?jǐn)?shù)值(N<=1000),請(qǐng)編寫(xiě)一個(gè)程序統(tǒng)計(jì)最終被錄取的人數(shù)。輸入
單組輸入。
第一行輸入一個(gè)正整數(shù)n,表示前來(lái)面試的新生人數(shù)。
接下來(lái)n行,每一行輸入三個(gè)1-10之間的正整數(shù)表示某一位同學(xué)三個(gè)指標(biāo)的得分,可以包含1和10,兩兩之間用英文空格隔開(kāi)。輸出
輸出最終被錄取的人數(shù)。
樣例輸入?Copy
5 5 6 7 6 6 6 6 8 4 6 7 8 5 10 5樣例輸出?Copy
3
#include<stdio.h>
int main()
{int a,b,c,d,e=0;scanf("%d",&a);while(a--){scanf("%d %d %d",&b,&c,&d);if(b>=6&&c>=6&&d>=6)e++;elseif(b==10||c==10||d==10)e++;}printf("%d\n",e);return 0;
}
?D: HNUCM的團(tuán)隊(duì)跑步
HNUCM運(yùn)動(dòng)會(huì)增加了一個(gè)團(tuán)隊(duì)跑步的項(xiàng)目,該項(xiàng)目的規(guī)則如下:
(1) 每個(gè)團(tuán)隊(duì)只能包含四名隊(duì)員,每名隊(duì)員從起點(diǎn)跑到終點(diǎn)的時(shí)間不一定相同;
(2) 每次最多允許兩名隊(duì)員一起從起點(diǎn)跑到終點(diǎn),且兩名隊(duì)員一起跑到終點(diǎn)所需時(shí)間以最后到達(dá)的那名隊(duì)員所需時(shí)間計(jì)算;
(3) 每次隊(duì)員從起點(diǎn)到終點(diǎn)都需要攜帶一個(gè)團(tuán)隊(duì)徽章,每個(gè)隊(duì)只有一個(gè)團(tuán)隊(duì)徽章,這意味著如果徽章在終點(diǎn)的話需要有隊(duì)員把徽章從終點(diǎn)送回起點(diǎn),否則起點(diǎn)的隊(duì)員就會(huì)因?yàn)闆](méi)有徽章而不能出發(fā)。
現(xiàn)在告訴你一個(gè)團(tuán)隊(duì)四名隊(duì)員獨(dú)自從起點(diǎn)跑到終點(diǎn)所需時(shí)間(單位:分鐘),你能否編寫(xiě)一個(gè)程序,計(jì)算該團(tuán)隊(duì)四名成員全部從起點(diǎn)到達(dá)終點(diǎn)所需最少時(shí)間(單位:分鐘)。輸入
單組輸入。
輸入四個(gè)正整數(shù)a, b, c, d,分別表示四名隊(duì)員獨(dú)自跑到終點(diǎn)所需時(shí)間(單位:分鐘),兩兩之間用英文空格隔開(kāi)。輸出
輸出該團(tuán)隊(duì)四名成員全部達(dá)到終點(diǎn)所需最少時(shí)間(單位:分鐘)。
樣例輸入?Copy
1 2 3 4樣例輸出?Copy
11
#include<stdio.h>
int main()
{int a[4],i,j,t,f,g;for(i=0;i<4;i++)scanf("%d",&a[i]);for(j=0;j<3;j++)for(i=0;i<3-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}f=a[3]+a[2]+a[1]+2*a[0];g=a[0]+a[3]+3*a[1];if(f<g)printf("%d\n",f);elseprintf("%d\n",g);return 0;
}
?E: HNUCM的連續(xù)子串
HNUCM是一所美麗的大學(xué),這里有美麗的景、美麗的人,也經(jīng)常會(huì)發(fā)生一些美麗的事。
現(xiàn)在給你一個(gè)全部由大寫(xiě)字母組成的字符串,在刪除若干字符后,請(qǐng)問(wèn)其中最多可以包含多少個(gè)獨(dú)立的“HNUCM”子字符串?
【“HNUCM”必須連續(xù)出現(xiàn)。】輸入
多組輸入。
每組1行,輸入一個(gè)長(zhǎng)度不超過(guò)10000,且只包含大寫(xiě)字母的字符串。輸出
在對(duì)輸入字符串進(jìn)行刪除操作后所包含的獨(dú)立連續(xù)“HNUCM”子字符串的最大數(shù)量,如果一個(gè)都沒(méi)有則輸出0。
樣例輸入?Copy
ABCDE HHNUCMM HHNNUUCCMM HBNCUDCMAAAHBBNCCUDCEM樣例輸出?Copy
0 1 1 2
#include <stdio.h>
#include <string.h>
char a[10000];
char b[] = "HNUCM";
int main()
{while (~scanf("%s", a)){int i = 0, j = 0;int len = strlen(a);for (int k = 0; k < len; k++) {if (a[k] == b[i]) i++;if (i == 5) {i = 0;j++;}}printf("%d\n", j);}return 0;
}
?F: HNUCM的學(xué)生食堂
HNUCM的學(xué)生食堂物美價(jià)廉,深受同學(xué)們的喜愛(ài)。
HNUCM學(xué)生食堂的飯是不用付錢的,而且還可以加飯,想加多少都可以,管飽,真好。當(dāng)然菜還是得花錢買的。
假設(shè)HNUCM食堂一共有m種菜品,其中價(jià)格為1元每份的菜有m1種,價(jià)格為2元每份的菜有m2種,價(jià)格為3元每份的菜有m3種,m = m1 + m2 + m3,m1、m2和m3均大于等于2且小于等于10。
節(jié)儉的Kimi同學(xué)打了若干種菜,總價(jià)正好10元,當(dāng)然每一種菜最多只打一份。
現(xiàn)在告訴你m1、m2和m3,請(qǐng)問(wèn)Kimi可以得到多少種不同的菜品的組合?輸入
輸入一行包含三個(gè)正整數(shù),分別對(duì)應(yīng)m1、m2和m3,兩兩之間用一個(gè)英文空格隔開(kāi),且m1、m2和m3均為2到10之間的正整數(shù)。
輸出
輸出Kimi可以得到的菜品組合數(shù)。
樣例輸入?Copy
2 2 2樣例輸出?Copy
3提示
提示:
10 = 1 + 1 + 2 + 3 + 3 (有兩種組合)
10 = 2 + 2 + 3 + 3 (一種組合)
?
#include <stdio.h>
int fun(int m, int n) {int a = 1;for (int i = 1; i <= m; i++) {a = a * (n - m + i) / i;}return a;
}
void solve() {int m1, m2, m3, s = 0;scanf("%d%d%d", &m1, &m2, &m3);for (int i = 0; i <= m1; i++) {for (int j = 0; j <= m2; j++) {for (int k = 0; k <= m3; k++) {if (i + 2 * j + 3 * k == 10) {s += fun(i, m1) * fun(j, m2) * fun(k, m3);}}}}printf("%d\n", s);
}
int main() {solve();return 0;
}
G: HNUCM的美味外賣
作為隊(duì)伍的核心,lsx很受另外兩個(gè)隊(duì)友的尊敬。
biscuit每天都要請(qǐng)lsx學(xué)長(zhǎng)吃外賣,但很不幸的是lsx所在的HNUCM學(xué)校周圍只有3家lsx愛(ài)吃的外賣。
如果biscuit給lsx買了別家的外賣,lsx就會(huì)大喊“我不吃我不吃”。
但是lsx又不喜歡連續(xù)三天吃一種外賣。
如果biscuit哪天忘了這件事并且三天給他買了同一家外賣,那么lsx就會(huì)把biscuit的頭摁進(jìn)手機(jī)屏幕里。
作為biscuit的好朋友,你能告訴他連續(xù)請(qǐng)lsx吃n天飯,有多少不同的購(gòu)買方法嗎?輸入
多組樣例。
第一行一個(gè)整數(shù)T(1<=T<=20)代表測(cè)試樣例數(shù);
接下來(lái)T行每行一個(gè)整數(shù)n,代表biscuit要請(qǐng)lsx吃n天飯(1<=n<=100000)輸出
輸出T個(gè)整數(shù)表示方案數(shù),答案可能很大輸出對(duì) 1e9+7 取模的結(jié)果。
樣例輸入?Copy
2 1 2樣例輸出?Copy
3 9
#include <stdio.h>
#define N 100005
#define M 1000000007
long long a[N] = {1, 3};
void solve() {for (int i = 2; i < N; i++) {a[i] = (a[i - 1] + a[i - 2]) * 2 % M;}int t;scanf("%d", &t);while (t--) {int n;scanf("%d", &n);printf("%lld\n", a[n - 1] * 3 % M);}
}
int main() {solve();return 0;
}
?H: HNUCM的孤獨(dú)數(shù)字
HNUCM的SQ同學(xué)隨手寫(xiě)了一個(gè)只包含'0'和'1'這兩種數(shù)字的數(shù)組。
他發(fā)現(xiàn)在這個(gè)數(shù)組中,可能會(huì)存在一個(gè)'0'的周圍八個(gè)方向(上、下、左、右、左上、右上、左下、右下)全部都是'1',也可能存在一個(gè)'1'的周圍八個(gè)方向全部都是'0',他將滿足該要求的數(shù)字稱為“孤獨(dú)數(shù)字”。當(dāng)然如果一個(gè)位于邊緣的數(shù)字'0'的周圍能夠出現(xiàn)數(shù)字的地方都是'1',或者一個(gè)'1'的周圍能夠出現(xiàn)數(shù)字的地方都是'0',它也是一個(gè)“孤獨(dú)數(shù)字”。
現(xiàn)在輸入一個(gè)只包含'0'和'1'的數(shù)組,請(qǐng)編寫(xiě)一個(gè)程序統(tǒng)計(jì)其中包含的“孤獨(dú)數(shù)字”的個(gè)數(shù)。輸入
單組輸入。
第1行輸入兩個(gè)正整數(shù)m和n,分別表示輸入數(shù)組的行數(shù)和列數(shù),m和n均不超過(guò)1000,兩者之間用英文空格隔開(kāi)。
接下來(lái)m行,每行包含一個(gè)由n個(gè)'0'和'1'組成的字符串。輸出
輸出在該數(shù)組中包含的“孤獨(dú)數(shù)字”的個(gè)數(shù)。
樣例輸入?Copy
5 5 01110 01010 01110 00001 10000樣例輸出?Copy
2
#include <stdio.h>
#define N 1005
char a[N][N];
int dx[] = {-1, -1, -1, 0, 0, 1, 1, 1};
int dy[] = {-1, 0, 1, -1, 1, -1, 0, 1};
void solve() {int m, n;scanf("%d %d", &m, &n);int s = 0;for (int i = 1; i <= m; i++) {for (int j = 1; j <= n; j++) {scanf(" %c", &a[i][j]);}}for (int i = 1; i <= m; i++) {for (int j = 1; j <= n; j++) {int t = 0;for (int k = 0; k < 8; k++) {int x = i + dx[k], y = j + dy[k];if (x >= 1 && x <= m && y >= 1 && y <= n) {if (a[x][y] == a[i][j]) {t = 1;break;}}}if (t == 0) {s++;}}}printf("%d\n",s);
}
int main() {solve();return 0;
}
?I: HNUCM的十佳歌手
一年一度的HNUCM十佳歌手大賽正在如火如荼舉行中,今年參賽選手人數(shù)創(chuàng)歷史新高,評(píng)委陣容也非常強(qiáng)大。
今年的評(píng)委一共有20名,其中10名專業(yè)評(píng)委,10名學(xué)生評(píng)委。
對(duì)于專業(yè)評(píng)委組,在計(jì)算小組得分的時(shí)候?qū)⑷サ粢粋€(gè)最高分和一個(gè)最低分,然后取平均分,該組平均分占最后總成績(jī)的60%。
對(duì)于學(xué)生評(píng)委組,在計(jì)算小組得分的時(shí)候也將去掉一個(gè)最高分和一個(gè)最低分,然后取平均分,該組平均分占最后總成績(jī)的40%。
現(xiàn)在給出20位評(píng)委對(duì)某一個(gè)參賽選手的打分值,請(qǐng)編寫(xiě)一個(gè)程序計(jì)算該選手的最終總成績(jī)。輸入
單組輸入。
每組輸入包含兩行。
第1行輸入10個(gè)取值在[80, 100]之間的正整數(shù),表示10個(gè)專業(yè)評(píng)委的給分,兩兩之間用英文空格隔開(kāi)。
第2行輸入10個(gè)取值在[80, 100]之間的正整數(shù),表示10個(gè)學(xué)生評(píng)委的給分,兩兩之間用英文空格隔開(kāi)。輸出
輸出該選手的最終總成績(jī),結(jié)果四舍五入保留兩位小數(shù)。
樣例輸入?Copy
80 85 85 90 85 85 85 85 85 85 90 90 90 85 85 90 90 95 95 90樣例輸出?Copy
87.00
#include<stdio.h>
int main()
{int a[10],b[10],i,t,j;double x,y,c=0,d=0;for(i=0;i<10;i++)scanf("%d",&a[i]);for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}for(i=0;i<10;i++)scanf("%d",&b[i]);for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(b[i]>b[i+1]){t=b[i];b[i]=b[i+1];b[i+1]=t;}c=a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8];d=b[1]+b[2]+b[3]+b[4]+b[5]+b[6]+b[7]+b[8];x=c/8;y=d/8;printf("%.2lf\n",x*0.6+y*0.4);return 0;
}
?J: HNUCM的智能門(mén)控
HNUCM圖書(shū)館新裝了一套智能門(mén)控系統(tǒng),每個(gè)人進(jìn)出圖書(shū)館時(shí)都需要刷一下校園卡,系統(tǒng)將自動(dòng)記錄一次通行數(shù)據(jù)。
某同學(xué)進(jìn)圖書(shū)館時(shí)刷一次卡,系統(tǒng)記錄一次校園卡ID信息,即校園卡卡號(hào)信息;當(dāng)他出圖書(shū)館時(shí)再刷一次卡,系統(tǒng)將再記錄一次校園卡ID信息。這些進(jìn)、出圖書(shū)館的校園卡ID信息將構(gòu)成一個(gè)序列。
HNUCM的同學(xué)們素質(zhì)都非常高,他們不會(huì)亂刷校園卡。
現(xiàn)在給出一個(gè)校園卡ID的序列,請(qǐng)你編寫(xiě)一個(gè)程序統(tǒng)計(jì)當(dāng)前圖書(shū)館的在館人數(shù),假定開(kāi)始時(shí)圖書(shū)館空無(wú)一人。輸入
單組輸入。
輸入一行ID序列,每一個(gè)ID都是一個(gè)六位正整數(shù),從100000到999999,序列中元素個(gè)數(shù)不超過(guò)1000,兩個(gè)ID之間用英文逗號(hào)分隔。輸出
輸出當(dāng)前圖書(shū)館的實(shí)時(shí)在館人數(shù)。
樣例輸入?Copy
100001 100002 100003 100003 100003 100001樣例輸出?Copy
2
#include <stdio.h>
#define N 1000010
int b[N], c[N];
int main() {int k = 0, a;while (scanf("%d", &a) != EOF) {b[a]++;if (b[a] == 1) {c[k++] = a;}}int cnt = 0;for (int i = 0; i < k; i++) {if (b[c[i]] % 2 == 1) {cnt++;}}printf("%d\n", cnt);return 0;
}
?K: HNUCM的數(shù)學(xué)王子
Tim號(hào)稱HNUCM的數(shù)學(xué)王子,他非常非常喜歡數(shù)學(xué)。
這段時(shí)間他迷上了各種素?cái)?shù),今天他決定研究一下梅森素?cái)?shù)。
梅森素?cái)?shù)來(lái)源于梅森數(shù)(Mersenne Number),梅森數(shù)是指形如(2^p-1)的正整數(shù),其中指數(shù)p是素?cái)?shù),常記為Mp 。
如果一個(gè)梅森數(shù)是素?cái)?shù),則稱為梅森素?cái)?shù),最小的梅森素?cái)?shù)是3,即(2^2-1),當(dāng)然7也是一個(gè)梅森素?cái)?shù)。
現(xiàn)在Tim想請(qǐng)你幫他編寫(xiě)一個(gè)程序,統(tǒng)計(jì)兩個(gè)指定正整數(shù)m和n之間(包含m和n)的梅森素?cái)?shù)個(gè)數(shù)。輸入
單組輸入。
輸入兩個(gè)正整數(shù)m和n,滿足1<=m<n<=10^9。輸出
輸出m和n之間的梅森素?cái)?shù)個(gè)數(shù)(包含m和n)。
樣例輸入?Copy
10 100樣例輸出?Copy
1提示
10到100之間只有31這一個(gè)梅森素?cái)?shù)。
#include<stdio.h>
int fun(int n)
{int i;for(i=2;i<n;i++)if(n%i==0) break;if(i==n)return 1;elsereturn 0;
}
int main()
{int m,n,s=0,i;scanf("%d%d",&m,&n);for(i=1;i-1<m;i*=2){}for(;i-1<=n;i*=2)if(fun(i-1)==1)s++;printf("%d\n",s);return 0;
}
?L: HNUCM的綜合測(cè)評(píng)
眾所周知綜合測(cè)評(píng)HNUCM是評(píng)定獎(jiǎng)學(xué)金的重要依據(jù),而其中競(jìng)賽類加分是拉開(kāi)差距的關(guān)鍵,現(xiàn)給出HNUCM某學(xué)院學(xué)科競(jìng)賽和創(chuàng)新創(chuàng)業(yè)類計(jì)分標(biāo)準(zhǔn):
學(xué)科競(jìng)賽類:
一等獎(jiǎng) 二等獎(jiǎng) 三等獎(jiǎng) 國(guó)家級(jí) 10 8 7 省級(jí) 8 6 5 校級(jí) 5 4 3 院級(jí) 3 2 1
?創(chuàng)新創(chuàng)業(yè)類:
一等獎(jiǎng) 二等獎(jiǎng) 三等獎(jiǎng) 國(guó)家級(jí) 9 7 6 省級(jí) 7 6 5 校級(jí) 5 3 2 院級(jí) 2 1 0.5 注意如果獲獎(jiǎng)是個(gè)人獎(jiǎng)則記全部分?jǐn)?shù),如果該獲獎(jiǎng)是團(tuán)隊(duì)獲獎(jiǎng)則都減半記分?,F(xiàn)給出biscuit的獲獎(jiǎng)情況,你能幫他計(jì)算他競(jìng)賽的加分是多少嗎?
輸入
單組輸入。
第一行一個(gè)正整數(shù)N(N<=1000),表示biscuit有N個(gè)競(jìng)賽獲獎(jiǎng)。
接下來(lái)N行,每行的輸入格式如下,由空格隔開(kāi):
- 第一個(gè)為一個(gè)字母‘X’或‘C’(X代表該獎(jiǎng)項(xiàng)是學(xué)科競(jìng)賽類,C代表是創(chuàng)新創(chuàng)業(yè)類)
- 第二個(gè)為一個(gè)數(shù)字A(A=0表示個(gè)人獲獎(jiǎng),A=1表示團(tuán)隊(duì)獲獎(jiǎng))
- 第三個(gè)為一個(gè)數(shù)字B(B=1表示該獎(jiǎng)項(xiàng)是國(guó)家級(jí),B=2表示省級(jí),B=3表示校級(jí),B=4表示院級(jí))
- 第三個(gè)為一個(gè)數(shù)字C(C=1表示一等獎(jiǎng),C=2表示二等獎(jiǎng),C=3表示三等獎(jiǎng))
保證輸入合法。
輸出
biscuit的競(jìng)賽加分?jǐn)?shù)。(結(jié)果保留兩位小數(shù))
樣例輸入?Copy
5 X 0 1 3 C 1 2 2 X 0 4 1 X 0 2 1 X 1 2 3樣例輸出?Copy
23.50
#include <stdio.h>
double a[2][4][3] = {{{10, 8, 7}, {8, 6, 5}, {5, 4, 3}, {3, 2, 1}},{{9, 7, 6}, {7, 6, 5}, {5, 3, 2}, {2, 1, 0.5}}
};
int main() {int n;double s = 0.0;scanf("%d", &n);while (n--) {char c;int x, y, z;scanf(" %c %d %d %d", &c, &x, &y, &z);s += a[c == 'C'][y - 1][z - 1] * (x ? 0.5 : 1);}printf("%.2lf\n", s);return 0;
}
?