編程題得分:100? 總分:100
目錄
7-1 機(jī)器人打招呼 (5分)
輸入格式:
輸出格式:
輸入樣例:
輸出樣例:
7-2 人臉識(shí)別 (10分)
輸入格式:
輸出格式:
輸入樣例 1:
輸出樣例 1:
輸入樣例 2:
輸出樣例 2:
7-3 月份輸出 (10分)
輸入格式:
輸出格式:
輸入樣例:
輸出樣例:
7-4 字母串 (15分)
輸入格式:
輸出格式:
輸入樣例:
輸出樣例:
7-5 增一數(shù) (15分)
輸入格式:
輸出格式:
輸入樣例:
輸出樣例:
7-6 答題卡 (20分)
輸入格式:
輸出格式:
輸入樣例:
輸出樣例:
7-7 救救倒霉鬼 (25分)
輸入格式:
輸出格式:
輸入樣例:
輸出樣例:
7-1 機(jī)器人打招呼 (5分)
機(jī)器人小白要來(lái) RoboCom 參賽了,在賽場(chǎng)中遇到人要打個(gè)招呼。請(qǐng)你幫它設(shè)置好打招呼的這句話:“ni ye lai can jia RoboCom a?”。
輸入格式:
本題沒(méi)有輸入。
輸出格式:
在一行中輸出?ni ye lai can jia RoboCom a?
。
輸入樣例:
無(wú)
輸出樣例:
ni ye lai can jia RoboCom a?
編譯器
NO_COMPILER
代碼
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<"ni ye lai can jia RoboCom a?";
return 0;
}
編譯器輸出
測(cè)試點(diǎn) | 結(jié)果 | 測(cè)試點(diǎn)得分 | 耗時(shí) | 內(nèi)存 |
---|---|---|---|---|
0 | 答案正確 | 5 | 3.00 ms | 312 KB |
評(píng)測(cè)結(jié)果 答案正確(5 分)
7-2 人臉識(shí)別 (10分)
人臉識(shí)別是基于人的臉部特征信息進(jìn)行身份識(shí)別的技術(shù),包括人臉圖像采集及檢測(cè)、圖像預(yù)處理、特征提取以及匹配與識(shí)別四大部分。本題請(qǐng)你為機(jī)器人警察實(shí)現(xiàn)一個(gè)非常簡(jiǎn)單的特征匹配算法,幫助查找罪犯:即給定數(shù)據(jù)庫(kù)中存儲(chǔ)的某罪犯的雙眼間距、鼻梁長(zhǎng)度、唇寬,然后與面前這個(gè)人的特征數(shù)據(jù)進(jìn)行匹配,判斷其是否該罪犯。
輸入格式:
輸入在第一行中給出罪犯的雙眼間距?L0?、鼻梁長(zhǎng)度?L1?、唇寬?L2?、以及允許的誤差范圍?T。第二行中給出當(dāng)前被檢測(cè)的人的雙眼間距?l0?、鼻梁長(zhǎng)度?l1?、唇寬?l2?。所有數(shù)字均為毫米為單位的長(zhǎng)度,是不超過(guò) 100 的正整數(shù),同行數(shù)字間以空格分隔。
輸出格式:
首先在第一行中輸出兩個(gè)人臉特征的誤差,格式為:
Diff = D0, D1, D2
其中?D0
=L0??l0?,D1
=L1??l1?,D2
=L2??l2?。如果三項(xiàng)誤差的絕對(duì)值之和不超過(guò)?T,則在第二行輸出?Yes
,否則輸出?No
。
輸入樣例 1:
23 60 54 3
23 59 56
輸出樣例 1:
Diff = 0, 1, -2
Yes
輸入樣例 2:
23 60 54 3
24 59 56
輸出樣例 2:
Diff = -1, 1, -2
No
編譯器
NO_COMPILER
代碼
#include<bits/stdc++.h>
using namespace std;
int a1, a2, a3, t, b1, b2, b3;
int main(){
cin >> a1 >> a2 >> a3 >> t >> b1 >> b2 >> b3;
cout<<"Diff = "<<a1-b1<<", "<<a2-b2<<", "<<a3-b3<<endl;
if(abs(a1-b1) + abs(a2-b2) + abs(a3-b3) <= t) cout<<"Yes";
else cout<<"No";
return 0;
}
編譯器輸出
測(cè)試點(diǎn) | 結(jié)果 | 測(cè)試點(diǎn)得分 | 耗時(shí) | 內(nèi)存 |
---|---|---|---|---|
0 | 答案正確 | 3 | 3.00 ms | 440 KB |
1 | 答案正確 | 3 | 3.00 ms | 440 KB |
2 | 答案正確 | 1 | 3.00 ms | 456 KB |
3 | 答案正確 | 1 | 3.00 ms | 452 KB |
4 | 答案正確 | 2 | 4.00 ms | 444 KB |
評(píng)測(cè)結(jié)果 答案正確(10 分)
7-3 月份輸出 (10分)
本題要求你寫一個(gè)程序幫助小朋友學(xué)習(xí)用英語(yǔ)描述月份。已知英文的 12 個(gè)月份為:
-
一月:January
-
二月:February
-
三月:March
-
四月:April
-
五月:May
-
六月:June
-
七月:July
-
八月:August
-
九月:September
-
十月:October
-
十一月:November
-
十二月:December
輸入格式:
輸入包括若干行,每一行里給出一個(gè)整數(shù)。
輸出格式:
對(duì)每一行的輸入,如果該整數(shù)在 1 到 12 之間,則在一行中輸出這個(gè)數(shù)字對(duì)應(yīng)的英文月份單詞;否則輸出??
?并結(jié)束程序。題目保證程序會(huì)結(jié)束。
輸入樣例:
10
5
28
-1
輸出樣例:
October
May
?
編譯器
NO_COMPILER
代碼
#include<bits/stdc++.h>
using namespace std;
int t;
int main(){
while(cin>>t){
if(t==1) cout<<"January"<<endl;
else if(t==2) cout<<"February"<<endl;
else if(t==3) cout<<"March"<<endl;
else if(t==4) cout<<"April"<<endl;
else if(t==5) cout<<"May"<<endl;
else if(t==6) cout<<"June"<<endl;
else if(t==7) cout<<"July"<<endl;
else if(t==8) cout<<"August"<<endl;
else if(t==9) cout<<"September"<<endl;
else if(t==10) cout<<"October"<<endl;
else if(t==11) cout<<"November"<<endl;
else if(t==12) cout<<"December"<<endl;
else {
cout<<"?";break;
}
}
return 0;
}
編譯器輸出
測(cè)試點(diǎn) | 結(jié)果 | 測(cè)試點(diǎn)得分 | 耗時(shí) | 內(nèi)存 |
---|---|---|---|---|
0 | 答案正確 | 5 | 3.00 ms | 440 KB |
1 | 答案正確 | 3 | 3.00 ms | 444 KB |
2 | 答案正確 | 1 | 3.00 ms | 440 KB |
3 | 答案正確 | 1 | 3.00 ms | 440 KB |
評(píng)測(cè)結(jié)果 答案正確(10 分)
7-4 字母串 (15分)
英語(yǔ)老師要求學(xué)生按照如下規(guī)則寫一串字母:
- 如果寫了某個(gè)大寫字母,下一個(gè)就必須寫同個(gè)字母的小寫,或者寫字母表中下一個(gè)字母的大寫;
- 如果寫了某個(gè)小寫字母,下一個(gè)就必須寫同個(gè)字母的大寫,或者寫字母表中前一個(gè)字母的小寫;
- 當(dāng)然也可以什么都不寫,就結(jié)束這個(gè)字母串。
例如?aAaABCDdcbBC
?就是一個(gè)合法的字母串;而?dEFfeFGhI
?就是非法的。注意?a
?沒(méi)有前一個(gè)字母,?Z
?也沒(méi)有下一個(gè)字母。
現(xiàn)在面對(duì)全班學(xué)生交上來(lái)的作業(yè),老師請(qǐng)你寫個(gè)程序自動(dòng)批改。
輸入格式:
輸入在第一行給出一個(gè)不超過(guò) 100 的正整數(shù) N。隨后 N 行,每行給出一位學(xué)生的作業(yè),即僅由英文字母組成的非空字母串,長(zhǎng)度不超過(guò)?2×106。
輸出格式:
對(duì)每位學(xué)生的作業(yè),如果正確就在一行中輸出?Y
,否則輸出?N
。
輸入樣例:
2
aAaABCDdcbBC
dEFfeFGhI
輸出樣例:
Y
N
編譯器
NO_COMPILER
代碼
#include<bits/stdc++.h>
using namespace std;
int t;
string s;
int main(){
cin>>t;
while(t--){
cin>>s;
int n = s.size();
int i;
for(i = 1; i<n; ++i){
if(s[i-1]>='A' && s[i-1]<='Z'){
if(s[i] == s[i-1]-'A'+'a' || s[i] == s[i-1]+1) continue;
else break;
}
else if(s[i-1]>='a' && s[i-1]<='z'){
if(s[i] == s[i-1]-'a'+'A' || s[i] == s[i-1]-1) continue;
else break;
}
}
if(i==n) cout<<"Y"<<endl;
else cout<<"N"<<endl;
}
return 0;
}
編譯器輸出
測(cè)試點(diǎn) | 結(jié)果 | 測(cè)試點(diǎn)得分 | 耗時(shí) | 內(nèi)存 |
---|---|---|---|---|
0 | 答案正確 | 8 | 5.00 ms | 452 KB |
1 | 答案正確 | 2 | 4.00 ms | 452 KB |
2 | 答案正確 | 1 | 5.00 ms | 584 KB |
3 | 答案正確 | 2 | 4.00 ms | 328 KB |
4 | 答案正確 | 2 | 46.00 ms | 4392 KB |
評(píng)測(cè)結(jié)果 答案正確(15 分)
7-5 增一數(shù) (15分)
反思:
????????這題最坑,4號(hào)測(cè)試點(diǎn)卡了很久,結(jié)果是前導(dǎo)零的坑。輸入034,要進(jìn)行前導(dǎo)零去除處理,變成34,再進(jìn)行后續(xù)的判斷。
若一個(gè)正整數(shù)有?2n?個(gè)數(shù)位,后?n?位組成的數(shù)恰好比前?n?位組成的數(shù)大 1,則這個(gè)數(shù)稱為增一數(shù)。例如 34、2526、233234 都是增一數(shù)。如果這個(gè)數(shù)還是某個(gè)數(shù)的平方,則稱為平方增一數(shù)。你的任務(wù)就是判斷任一給定正整數(shù)是否平方增一數(shù)。
輸入格式:
輸入在第一行中給出一個(gè)正整數(shù)?N(≤100),隨后?N?行,每行給出一個(gè)不超過(guò)?231?的待判定的正整數(shù)。
輸出格式:
對(duì)每個(gè)待判定的正整數(shù),在一行中輸出判定結(jié)果:如果是平方增一數(shù),則輸出 2;如果只是普通增一數(shù),則輸出 1;如果不是增一數(shù),則輸出 0。
輸入樣例:
3
528529
2324
5678
輸出樣例:
2
1
0
編譯器
NO_COMPILER
代碼
#include<bits/stdc++.h>
#define int long long
using namespace std;
int t;
int ss;
signed main(){
cin>>t;
while(t--){
// cin>>s;
// int n = s.size();
string s;
cin>>ss;
int n = 0;
while(ss){
n++;
s.push_back('0' + ss%10);
ss /= 10;
}
for(int i = 0; i<s.size()/2; ++i){
swap(s[i], s[s.size()-1-i]);
}
// cout<<n<<endl;
// cout<<s<<endl;
// int n = s.size();//0123
if(n%2){
// cout<<n<<endl;
// cout<<s<<endl;
cout<<0<<endl;
continue;
}
//str to int
int a = 0, b = 0, i;
for(i = 0; i<n/2; ++i){
a *= 10;
a += s[i]-'0';
}
for(i; i<n; ++i){
b *= 10;
b += s[i]-'0';
}
// cout<<a<<" "<<b<<endl;
int c = a;
for(int i = 1; i<=n/2; ++i) c *= 10;
c += b;
// cout<<a<<" "<<b<<" "<<c<<endl;
int ans = 0;
if(a+1 == b && ((int)sqrt(c))*((int)sqrt(c)) == c) ans = 2;
else if(a+1 == b) ans = 1;
else ans = 0;
cout<<ans<<endl;
}
return 0;
}
/*
卡了半天
*/
編譯器輸出
a.cpp: In function ‘int main()’: a.cpp:21:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i<s.size()/2; ++i){ ~^~~~~~~~~~~ a.cpp:39:8: warning: statement has no effect [-Wunused-value] for(i; i<n; ++i){ ^
測(cè)試點(diǎn) | 結(jié)果 | 測(cè)試點(diǎn)得分 | 耗時(shí) | 內(nèi)存 |
---|---|---|---|---|
0 | 答案正確 | 8 | 4.00 ms | 452 KB |
1 | 答案正確 | 1 | 5.00 ms | 440 KB |
2 | 答案正確 | 1 | 4.00 ms | 456 KB |
3 | 答案正確 | 1 | 6.00 ms | 436 KB |
4 | 答案正確 | 1 | 3.00 ms | 452 KB |
5 | 答案正確 | 1 | 3.00 ms | 312 KB |
6 | 答案正確 | 2 | 4.00 ms | 604 KB |
評(píng)測(cè)結(jié)果 答案正確(15 分)
7-6 答題卡 (20分)
新浪微博上有網(wǎng)友發(fā)文稱:“朋友買了本玻爾X海森堡的物理大佬同人本,送了300道高數(shù)題。更絕的是,要做完題目按照答案涂答題卡,涂出一個(gè)二維碼,掃描二維碼才能看到特典,做錯(cuò)了就看不到了……”那張傳說(shuō)中的答題卡如下圖所示:若答案為 4 位整數(shù)(位數(shù)不足時(shí)在前面補(bǔ)足 0),則前兩位為橫坐標(biāo),后兩位為縱坐標(biāo)。若一題有兩小問(wèn),則第一問(wèn)答案為橫坐標(biāo),第二問(wèn)答案為縱坐標(biāo)。若答案為分?jǐn)?shù),則分子為橫坐標(biāo),分母為縱坐標(biāo)。
本題就請(qǐng)你根據(jù)答案幫助讀者填寫答題卡。
輸入格式:
輸入首先在第一行給出兩個(gè)正整數(shù):2<n≤90?為二維碼的規(guī)模,即二維碼是由?n×n?個(gè)小方塊組成的大方塊,左下角的小方塊對(duì)應(yīng)坐標(biāo) (1, 1),右上角的小方塊對(duì)應(yīng)坐標(biāo) (n,?n);另一個(gè)?m(<n2)是答案的個(gè)數(shù)。最后?m?行,每行按以下格式之一給出一題的答案:或者是一個(gè)不超過(guò) 4 位的整數(shù);或者是兩小問(wèn)的答案?答案1;答案2
;或者是一個(gè)分?jǐn)?shù)?分子/分母
。這里保證每個(gè)答案都可以解析為一個(gè)二維碼中的方塊位置(即不存在超出二維碼范圍的坐標(biāo))。
輸出格式:
輸出?n?行,每行?n?個(gè)字符,空格用?.
?表示,涂了答案的黑格用?#
?表示。
輸入樣例:
5 7
205
3;2
4/5
101
3;3
4/3
5;1
輸出樣例:
.#.#.
.....
..##.
..#..
#...#
編譯器
NO_COMPILER
代碼
#include<bits/stdc++.h>
//#define int long long
using namespace std;
int n, m, len;
char g[100][100];
string s;
signed main(){
cin>>n>>m;
for(int i = 1; i<=n; ++i){
for(int j = 1; j<=n; ++j){
g[i][j] = '.';
}
}
//y, n-x
while(m--){
cin>>s;
len = s.size();
int i;
for(i = 0; i<len; ++i){
if(s[i] == ';') break;
if(s[i] == '/') break;
}
int a = 0, b = 0;
if(i==len){
int num = 0;
for(int j = 0; j<len; ++j){
num *= 10;
num += s[j]-'0';
}
// cout<<num;
a = num / 100;
b = num % 100;
}
else{
for(int j = 0; j<i; ++j){
a *= 10;
a += s[j]-'0';
}
for(int j = i+1; j<len; ++j){
b *= 10;
b += s[j]-'0';
}
}
g[n-b+1][a] = '#';
}
for(int i = 1; i<=n; ++i){
for(int j = 1; j<=n; ++j){
cout<<g[i][j];
}
cout<<"\n";
}
return 0;
}
編譯器輸出
測(cè)試點(diǎn) | 結(jié)果 | 測(cè)試點(diǎn)得分 | 耗時(shí) | 內(nèi)存 |
---|---|---|---|---|
0 | 答案正確 | 12 | 4.00 ms | 564 KB |
1 | 答案正確 | 2 | 4.00 ms | 576 KB |
2 | 答案正確 | 6 | 4.00 ms | 564 KB |
評(píng)測(cè)結(jié)果 答案正確(20 分)
7-7 救救倒霉鬼 (25分)
倒霉鬼抗著一大箱銀行票據(jù)去郵寄,卻不慎掉進(jìn)了西湖…… 他奮力游上岸并且順便搶救了一些票據(jù)。但還是有一些票據(jù)落到了西湖底必須補(bǔ)做…… 于是請(qǐng)你寫程序幫幫倒霉鬼,給他列出來(lái)需要重新補(bǔ)做的票據(jù)有哪些?
輸入格式:
輸入首先給出全部一箱票據(jù)的信息:在第一行給出不超過(guò)?105?的正整數(shù) N,隨后 N 行,每行給出一張票據(jù)的編號(hào)。題目保證編號(hào)不重復(fù)。
隨后是搶救回來(lái)的票據(jù)的信息,首先是一個(gè)小于 N 的非負(fù)整數(shù) M,隨后 M 行,每行給出一份搶救回來(lái)的票據(jù)的編號(hào)。題目保證編號(hào)存在。
編號(hào)為長(zhǎng)度不超過(guò) 12 的、由英文字母和數(shù)字組成的字符串。
輸出格式:
按字典序遞減輸出丟失的票據(jù)的編號(hào),每個(gè)編號(hào)占一行。
輸入樣例:
5
A20190289
B20018372
A19873001
T27346900
B00247834
3
T27346900
A19873001
B20018372
輸出樣例:
B00247834
A20190289
編譯器
NO_COMPILER
代碼
#include<bits/stdc++.h>
//#define int long long
using namespace std;
int n, m;
string s;
set<string> se;
int cnt;
string ans[100005];
signed main(){
cin>>n;
for(int i = 1; i<=n; ++i){
cin>>s;
se.insert(s);
}
cin>>m;
for(int i = 1; i<=m; ++i){
cin>>s;
se.erase(s);
}
auto t = se.begin();
for(t; t!=se.end(); t++){
ans[++cnt] = *t;
}
for(int i = cnt; i>=1; --i) cout<<ans[i]<<endl;
return 0;
}
編譯器輸出文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-528264.html
a.cpp: In function ‘int main()’: a.cpp:24:7: warning: statement has no effect [-Wunused-value] for(t; t!=se.end(); t++){ ^
測(cè)試點(diǎn) | 結(jié)果 | 測(cè)試點(diǎn)得分 | 耗時(shí) | 內(nèi)存 |
---|---|---|---|---|
0 | 答案正確 | 15 | 6.00 ms | 3524 KB |
1 | 答案正確 | 1 | 6.00 ms | 3520 KB |
2 | 答案正確 | 1 | 6.00 ms | 3512 KB |
3 | 答案正確 | 4 | 97.00 ms | 11312 KB |
4 | 答案正確 | 4 | 186.00 ms | 11832 KB |
評(píng)測(cè)結(jié)果 答案正確(25 分)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-528264.html
到了這里,關(guān)于2021 RoboCom 世界機(jī)器人開(kāi)發(fā)者大賽-高職組(初賽)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!