如果你仍然再用二指禪打字,那我建議你重新學習打字,這樣你打字會更快,感覺更舒適和愉快。

有很多網(wǎng)站教授正確的打字。下圖描述了基本原理: 用同一手指按壓顏色相同的鍵。黃色鍵需要用小指按壓,藍色的用無名指,綠色的用中指,紅色的用食指。

另外,左手按鍵盤的左側(從左側的5、T、G、B鍵開始)右手按壓右側(從右側的鍵6、Y、H、N開始)。拇指負責空格鍵。
圖片描述的鍵盤是美式鍵盤。
現(xiàn)在,給出一段長度為?len(1≤len≤50)?的字符串,請你計算如果正確打出這個字符串,每個手指敲擊鍵盤的次數(shù)。
輸入格式:輸入為一行,一個由大寫字母、數(shù)字和特殊符號組成的字符串(不包括空格,不需要管圖片中未顯示的按鍵)。
輸出格式:輸出8行,表示左手小指、無名指、中指、食指以及右手食指、中指、無名指、小指敲擊鍵盤的次數(shù)。
輸入樣例1:AON=BOO;輸出樣例1:1
0
0
1
1
0
3
2輸入樣例2:PRINT'NY'[NASLA]輸出樣例2:2
1
0
2
4
1
1
5這道題用一堆if else把所有情況全列出來然后用變量存一下,后面直接輸出就可以
#includeusing namespace std;
int main(){
int click[8]={0};
char ch;
while((ch=getchar())!=EOF){
if(ch=='Z'||ch=='A'||ch=='Q'||ch=='1')click[0]++;
else if(ch=='X'||ch=='S'||ch=='W'||ch=='2')click[1]++;
else if(ch=='E'||ch=='D'||ch=='C'||ch=='3')click[2]++;
else if(ch=='V'||ch=='F'||ch=='R'||ch=='4')click[3]++;
else if(ch=='B'||ch=='G'||ch=='T'||ch=='5')click[3]++;
else if(ch=='N'||ch=='H'||ch=='Y'||ch=='6')click[4]++;
else if(ch=='M'||ch=='J'||ch=='U'||ch=='7')click[4]++;
else if(ch==','||ch=='K'||ch=='I'||ch=='8')click[5]++;
else if(ch=='.'||ch=='L'||ch=='O'||ch=='9')click[6]++;
else if(ch=='/'||ch==';'||ch=='P'||ch=='0')click[7]++;
else if(ch=='['||ch==']'||ch=='\''||ch=='-'||ch=='=')click[7]++;
}
for(int i = 0;i< 8;i++){
cout<< click[i]<< endl;
}
return 0;
} T2.分香腸有?N?根完全相同的香腸, 現(xiàn)在要平均分給?M?個客人。 問最少需要切幾刀才能將其平均分給客人(不能多個香腸一起切)。
輸入格式:兩個整數(shù)?N(1≤N≤105)?和?M(1≤M≤105)
輸出格式:一個整數(shù),表示要切的刀數(shù)
輸入樣例:在這里給出一組輸入。例如:
2 6輸出樣例:在這里給出相應的輸出。例如:
4n個香腸給m個客人吃,我們先讓n取模于m,多出來的那些我們可以不切割直接平分,只考慮多出來的那一部分,然后n和m求一個大公因數(shù),接著讓他們都除以大公因數(shù),易得m-1就是這n個香腸給m個客人吃的最小切割數(shù),然后讓這個數(shù)乘以大公因數(shù)就得到答案了,不過注意m正好是n的因數(shù)的情況,以防出現(xiàn)除數(shù)為零的情況,加個特判就可以,AC代碼附上
#include#includeusing namespace std;
int gcd(int n,int m){
while(m%n){
int temp = n;
n = m%n;
m = temp;
}
return n;
}
int main() {
int N, M;
cin >>N >>M;
N = N % M;
if(N==0)cout<< 0<< endl;
else {
int temp = gcd(N,M);
cout<< M-temp<< endl;
}
return 0;
} T3.會議安排學校的禮堂每天都會有許多活動,有時間這些活動的計劃時間會發(fā)生沖突,需要選擇出一些活動進行舉辦。小劉的工作就是安排學校禮堂的活動,每個時間最多安排一個活動。現(xiàn)在小劉有一些活動計劃的時間表,他想盡可能的安排更多的活動,請問他該如何安排。
輸入格式:第一行是一個整型數(shù)m(m<100)表示共有m組測試數(shù)據(jù)。
每組測試數(shù)據(jù)的第一行是一個整數(shù)n(1
對于每一組輸入,輸出最多能夠安排的活動數(shù)量。
每組的輸出占一行
在這里給出一組輸入。例如:
2
2
1 10
10 11
3
1 10
9 11
11 20輸出樣例:在這里給出相應的輸出。例如:
2
2會議安排的話直接用貪心,先把這些會議以結束時間排好,然后一個一個遍歷過去,只要能安排就安排,用一個變量來存一下結束時間,只要下一個會議的開始時間晚于這個結束時間就可以安排上,然后更新一下這個結束時間,順便cnt++,遍歷完之后輸出答案即可
#include#include
using namespace std;
struct huiyi{
int kaishi;
int jieshu;
};
bool cmp(huiyi &a,huiyi &b){
return a.jieshu>n;
for(int i = 0;i< n;i++){
int m;
cin >>m;
for(int j = 0;j< m;j++){
cin >>hy[j].kaishi >>hy[j].jieshu;
}
sort(hy,hy+m,cmp);
int tim = 0;
int cnt = 0;
for(int j = 0;j< m;j++){
if(hy[j].kaishi>=tim)tim = hy[j].jieshu,cnt++;
}
cout<< cnt<< endl;
}
} T4.神秘密碼傳說二戰(zhàn)時X國收到了上帝的一串密碼,只有解開密碼,才能阻止戰(zhàn)爭的繼續(xù)進行,世界才會恢復和平。解開密碼的第一道工序就是解壓縮密碼,上帝對于連續(xù)的若干個相同的子串"X"會壓縮為"[DX]"的形式(D是一個整數(shù)且1<=D<=99),比如說字符串"CBCBCBCB"就壓縮為"[4CB]"或者"[2[2CB]]",類似于后面這種壓縮之后再壓縮的稱為二重壓縮。如果是"[2[2[2CB]]]"則是三重的。現(xiàn)在我們給你上帝發(fā)送的密碼,請你對其進行解壓縮。
輸入格式:一個字符串。
輸出格式:一個字符串。
輸入樣例:在這里給出一組輸入。例如:
AC[3FUN]輸出樣例:在這里給出相應的輸出。例如:
ACFUNFUNFUN【數(shù)據(jù)范圍】
解壓后的字符串長度在?20000?以內(nèi),最多只有十重壓縮。保證只包含數(shù)字、大寫字母、[和?]。
這個密碼的結構看起來就很遞歸,我們用一個遞歸函數(shù)來解這個字符串,如果讀到的是大寫字母就直接加在答案后面,如果是 [ 就說明有壓縮的部分了,接著調(diào)用這個函數(shù)繼續(xù)解壓后續(xù)的內(nèi)容,讀到 ] 就代表壓縮結束,返回這個字符串給上一級遞歸,然后把這個字符串復制n次加在答案后面,最后返回整個字符串輸出即可,編寫時注意壓縮的次數(shù)在上一級遞歸中輸入并存儲,讓下一級遞歸直接從字母或者 [ 開始,否則很難寫
#include#includeusing namespace std;
string jieya(){
string a,b;
int n;
char c;
while(cin >>c){
if(c == '['){
cin >>n;
b = jieya();
while(n--)a+=b;
}
else if(c==']')return a;
else a+=c;
}
return a;
}
int main(){
string ans = jieya();
cout<< ans< T5.國王游戲恰逢 H 國國慶,國王邀請 n 位大臣來玩一個有獎游戲。
首先,他讓每個大臣在左、右手上面分別寫下一個整數(shù),國王自己也在左、右手上各寫一個整數(shù)。
然后,讓這 n 位大臣排成一排,國王站在隊伍的最前面。
排好隊后,所有的大臣都會獲得國王獎賞的若干金幣,每位大臣獲得的金幣數(shù)分別是:
排在該大臣前面的所有人的左手上的數(shù)的乘積除以他自己右手上的數(shù),然后向下取整得到的結果。
國王不希望某一個大臣獲得特別多的獎賞,所以他想請你幫他重新安排一下隊伍的順序,使得獲得獎賞最多的大臣,所獲獎賞盡可能的少。
注意,國王的位置始終在隊伍的最前面。
第一行包含一個整數(shù) n(1≤n≤1000),表示大臣的人數(shù)。
第二行包含兩個整數(shù) a (0 接下來 n 行,每行包含兩個整數(shù) a 和 b,之間用一個空格隔開,分別表示每個大臣左手和右手上的整數(shù)。
輸出只有一行,包含一個整數(shù),表示重新排列后的隊伍中獲獎賞最多的大臣所獲得的金幣數(shù)。
輸入樣例:在這里給出一組輸入。例如:
3
1 1
2 3
7 4
4 6輸出樣例:在這里給出相應的輸出。例如:
2首先注意一點計算金幣的時候是這位大臣前面所有人左手的乘積除以自己右手的數(shù)得到的,乘積不包括自己的左手,然后就是解題的關鍵了,對于其中相鄰兩個人,易得交換他們兩個的位置對其他人的金幣不造成影響,僅考慮他們兩個人,設他們左右手的數(shù)字分別為l1,r1,l2,r2;易得交換前這兩個人的金幣為(設前面所有人的左手乘積為n)
? 第一個人? ? ? ? 第二個人
交換前????????n/r1????????????????n*l1/r2
交換后????????n/r2????????????????n*l2/r1
? 第一個人? ? ? ? 第二個人
交換前? ? ? ? r2? ? ? ? ? ? ? ? ? ? l1*r1
交換后? ? ? ? r1? ? ? ? ? ? ? ? ? ? l2*r2
若前一個人的左右手乘積大于后一個人 即l1*r1大于l2*r2,易得
max(r1,l2*r2)<= l1*r1<=max(r2,l1*r1)
所以我們根據(jù)左右手的乘積來給大臣排序,得到的大金幣只會小于等于原來的大金幣,還有一點是這道題的數(shù)據(jù)會比較大,所以我們需要寫高精度來計算,AC代碼附上
#include#include
#define MAXLEN 10000
using namespace std;
int temp[MAXLEN] = {0};
struct p {
int zuoshou;
int youshou;
};
bool bijiao(int m[], int n[]) {
for (int i = MAXLEN - 1; i >= 0; i--) {
if (m[i] >n[i])
return 1;
}
return 0;
}
void cheng(int m[], int n) {
for (int i = 0; i< MAXLEN; i++) {
m[i] *= n;
}
for (int i = 0; i< MAXLEN; i++) {
m[i + 1] += m[i] / 10;
m[i] %= 10;
}
}
void fuzhi(int m[], int n[]) {
for (int i = 0; i< MAXLEN; i++) {
m[i] = n[i];
}
}
ostream &operator<<(ostream &cout, int m[]) {
int top = MAXLEN - 1;
while (!m[top])
top--;
for (; top >= 0; top--) {
cout<< m[top];
}
return cout;
}
void chu(int m[], int n) {
fuzhi(temp, m);
for (int i = MAXLEN - 1; i >0; i--) {
temp[i - 1] += temp[i] % n * 10;
temp[i] /= n;
}
temp[0] /= n;
}
bool cmp(p &a, p &b) {
return a.zuoshou * a.youshou< b.zuoshou * b.youshou;
}
int main() {
int n;
cin >>n;
p ren[1005];
for (int i = 0; i<= n; i++) {
cin >>ren[i].zuoshou >>ren[i].youshou;
}
sort(ren + 1, ren + 1 + n, cmp);
int m[MAXLEN] = {1};
cheng(m, ren[0].zuoshou);
int max[MAXLEN] = {0};
for (int i = 1; i<= n; i++) {
chu(m, ren[i].youshou);
// for(int j = 0;j< MAXLEN;j++){
// temp[j] = m[j];
// }
// for(int j = MAXLEN-1;j>0;j--){
// temp[j-1] = temp[j]%ren[i].youshou*10;
// }
if (bijiao(temp, max)) {
fuzhi(max, temp);
}
cheng(m, ren[i].zuoshou);
}
cout<< max;
return 0;
} 你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
分享標題:NEUQ-ACM預備隊第三次雙周賽題解-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://chinadenli.net/article16/gscdg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、手機網(wǎng)站建設、企業(yè)網(wǎng)站制作、網(wǎng)頁設計公司、網(wǎng)站內(nèi)鏈、移動網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容