1052 賣個萌(20 分)
萌萌噠表情符號通常由“手”、“眼”、“口”三個主要部分組成。簡單起見,我們假設一個表情符號是按下列格式輸出的:
[左手]([左眼][口][右眼])[右手]
現給出可選用的符號集合,請你按使用者的要求輸出表情。
輸入格式:
輸入首先在前三行順序對應給出手、眼、口的可選符號集。每個符號括在一對方括號 []
內。題目保證每個集合都至少有一個符號,並不超過 10 個符號;每個符號包含 1 到 4 個非空字元。
之後一行給出一個正整數 K,為使用者請求的個數。隨後 K 行,每行給出一個使用者的符號選擇,順序為左手、左眼、口、右眼、右手——這裡只給出符號在相應集合中的序號(從 1 開始),數字間以空格分隔。
輸出格式:
對每個使用者請求,在一行中輸出生成的表情。若使用者選擇的序號不存在,則輸出 Are you kidding me? @\/@
。
輸入樣例:
[╮][╭][o][~\][/~] [<][>]
[╯][╰][^][-][=][>][<][@][⊙]
[Д][▽][_][ε][^] ...
4
1 1 2 2 2
6 8 1 5 5
3 3 4 3 3
2 10 3 9 3
輸出樣例:
╮(╯▽╰)╭
<(@Д=)/~
o(^ε^)o
Are you kidding me? @\/@
#include<iostream> #include<string> #include<algorithm> using namespace std; void fenli(int &ssi,string s[10],string &shou){ int shousi=shou.length(); int sub; for(int i=0;i<shousi;++i){ if(shou[i]=='['){ for(int j=i+1;j<shousi;++j){ if(shou[j]==']'){ sub=j-i-1; if(sub>0){ //cout<<shou.substr(i+1,sub)<<endl; s[ssi]=shou.substr(i+1,sub); ++ssi; } i=j; break; } } } } } int main(){ while(1){ string shou,yan,kou; getline(cin,shou); getline(cin,yan); getline(cin,kou); string s[10],y[10],k[10]; int ssi=0,ysi=0,ksi=0; fenli(ssi,s,shou); fenli(ysi,y,yan); fenli(ksi,k,kou); int n; cin>>n; int s1,y1,k0,y2,s2; while(n--){ cin>>s1>>y1>>k0>>y2>>s2; if(s1>ssi||s2>ssi||y1>ysi||y2>ysi||k0>ksi ||s1<1||y1<1||k0<1||y2<1||s2<1){//內心無比奔潰,這個點卡了我半小時。。。"從1開始",還能<0??? cout<<"Are you kidding me? @\\\/@"<<endl; continue; } --s1;--y1;--k0;--y2;--s2; cout<<s[s1]<<'('<<y[y1]<<k[k0]<<y[y2]<<')'<<s[s2]<<endl; } } }
相關推薦
PAT-乙-1052 1052 賣個萌 (20 分)
程式碼 #include <iostream> #include <vector> using namespace std; const int SIZE = 3; int main() { string s[SIZE];
1052 賣個萌 (20 分)//部分正確
1052 賣個萌 (20 分) 萌萌噠表情符號通常由“手”、“眼”、“口”三個主要部分組成。簡單起見,我們假設一個表情符號是按下列格式輸出的: [左手]([左眼][口][右眼])[右手] 現給出可選用的符號集合,請你按使用者的要求
1052 賣個萌(20 分)
萌萌噠表情符號通常由“手”、“眼”、“口”三個主要部分組成。簡單起見,我們假設一個表情符號是按下列格式輸出的: [左手]([左眼][口][右眼])[右手] 現給出可選用的符號集合,請你按使用者的要求輸出表情。 輸入格式: 輸入首先在前三行順序對應給出手、眼、口的可選
PAT Basic 1052. 賣個萌 (20)(C語言實現)
, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目萌萌噠表情符號通常由“手”、“眼”、“口”三個主要部分組成。簡單起見,我們假設
【PAT】(B)1052 賣個萌 (20)
『題目』 萌萌噠表情符號通常由“手”、“眼”、“口”三個主要部分組成。簡單起見,我們假設一個表情符號是按下列格式輸出的: [左手]([左眼][口][右眼])[右手] 現給出可選用的符號集合,請你按使用者的要求輸出表情。 輸入格式: 輸入首先在前三行順序對應給出手、
PAT 1052 賣個萌 python(非零返回)
1052 賣個萌 (20 分) 萌萌噠表情符號通常由“手”、“眼”、“口”三個主要部分組成。簡單起見,我們假設一個表情符號是按下列格式輸出的: [左手] ([左眼] [口] [右眼]) [右手] 現給出可選用的符號集合,請你按使用者的要求輸出表情。 輸入格式
7-15 兩個有序鏈表序列的合並(20 分)
一行 htm text all color div 兩個 turn nbsp 已知兩個非降序鏈表序列S1與S2,設計函數構造出S1與S2的並集新非降序鏈表S3。 輸入格式: 輸入分兩行,分別在每行給出由若幹個正整數構成的非降序序列,用−1表示序列的結
【PAT】B1023 組個最小數(20 分)
最小數 [1] ace pac 存儲位置 bool algorithm tdi include #include<stdio.h> #include<algorithm> using namespace std; struct number{
7-3 兩個有序連結串列序列的合併 (20 分)
7-3 兩個有序連結串列序列的合併 (20 分) 已知兩個非降序連結串列序列S1與S2,設計函式構造出S1與S2合併後的新的非降序連結串列S3。 輸入格式: 輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用−1表示序列的結尾(−1不屬於這個序列)。數字用空格間隔。 輸出格
PTA 陣列迴圈左移 (20 分) 本題要求實現一個對陣列進行迴圈左移的簡單函式:一個數組a中存有n(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向左移m(≥0)個位置,即將a中的
陣列迴圈左移 (20 分) 本題要求實現一個對陣列進行迴圈左移的簡單函式:一個數組a中存有n(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向左移m(≥0)個位置,即將a中的資料由(a0a1⋯an−1)變換為(am⋯an−
1023 組個最小數 (20 分)
給定數字 0-9 各若干個。你可以以任意順序排列這些數字,但必須全部使用。目標是使得最後得到的數儘可能小(注意 0 不能做首位)。例如:給定兩個 0,兩個 1,三個 5,一個 8,我們得到的最小的數就是 10015558。 現給定數字,請編寫程式輸出能夠組成的最小的數。 輸入格式: 輸入
【問題求教】7-2 兩個有序連結串列序列的交集 (20 分)
已知兩個非降序連結串列序列S1與S2,設計函式構造出S1與S2的交集新連結串列S3。 輸入格式: 輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用−1表示序列的結尾(−1不屬於這個序列)。數字用空格間隔。 輸出格式: 在一行中輸出兩個輸入序列的交集序列
7-51 求n以內最大的k個素數以及它們的和 (20 分)
7-51 求n以內最大的k個素數以及它們的和 (20 分) 本題要求計算並輸出不超過n的最大的k個素數以及它們的和。 輸入格式: 輸入在一行中給出n(10≤n≤10000)和k(1≤k≤10)的值。 輸出格式: 在一行中按下列格式輸出: 素數1+素數2+…+素數k
7-2 兩個有序連結串列序列的合併 (20 分)
已知兩個非降序連結串列序列S1與S2,設計函式構造出S1與S2合併後的新的非降序連結串列S3。 輸入格式: 輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用−表示序列的結尾(−不屬於這個序列)。數字用空格間隔。 輸出格式: 在一行中輸出合併後新的非降序連結串列,數字間用空格分開,結尾不能有
7-3 組個最小數 (20 分)
#include <bits/stdc++.h> using namespace std; int main() { int a[50]; int n, i = 0, j = 0,
兩個有序連結串列序列的合併 (20 分)
7-90 兩個有序連結串列序列的合併 (20 分) 已知兩個非降序連結串列序列S1與S2,設計函式構造出S1與S2合併後的新的非降序連結串列S3。 輸入格式: 輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用−1表示序列的結尾(−1不屬於這個序列)。數
PAT (Basic Level) Practice (中文)1023 組個最小數 (20 分)C語言
1023 組個最小數 (20 分) 給定數字 0-9 各若干個。你可以以任意順序排列這些數字,但必須全部使用。目標是使得最後得到的數儘可能小(注意 0 不能做首位)。例如:給定兩個 0,兩個 1,三個 5,一個 8,我們得到的最小的數就是 10015558。 現給定數字,
組個最小數 (20 分)
給定數字0-9各若干個。你可以以任意順序排列這些數字,但必須全部使用。目標是使得最後得到的數儘可能小(注意0不能做首位)。例如:給定兩個0,兩個1,三個5,一個8,我們得到的最小的數就是10015558。 現給定數字,請編寫程式輸出能夠組成的最小的數。 輸入格式: 輸入在一行中給出10個
【PAT】1023 組個最小數 (20 分)
1023 組個最小數 (20 分) 給定數字 0-9 各若干個。你可以以任意順序排列這些數字,但必須全部使用。目標是使得最後得到的數儘可能小(注意 0 不能做首位)。例如:給定兩個 0,兩個 1,三個 5,一個 8,我們得到的最小的數就是 10015558。 現給定數字,
練習7-4 找出不是兩個陣列共有的元素 (20 分)(靈活運用flage作為判斷條件)
給定兩個整型陣列,本題要求找出不是兩者共有的元素。 輸入格式: 輸入分別在兩行中給出兩個整型陣列,每行先給出正整數N(≤20),隨後是N個整數,其間以空格分隔。 輸出格式: 在一行中按照數字給出的順序輸出不是兩陣列共有的元素,數字間以空格分隔,但行末不得有多餘的空格。題目保證至少存在