1052 賣個萌 (20 分)思路:萌萌噠表情符號通常由「手」、「眼」、「口」三個主要部分組成。簡單起見,我們假設乙個表情符號是按下列格式輸出的:
現給出可選用的符號集合,請你按使用者的要求輸出表情。[左手]([左眼][口][右眼])[右手]
輸入首先在前三行順序對應給出手、眼、口的可選符號集。每個符號括在一對方括號
內。題目保證每個集合都至少有乙個符號,並不超過 10 個符號;每個符號包含 1 到 4 個非空字元。
之後一行給出乙個正整數 k,為使用者請求的個數。隨後 k 行,每行給出乙個使用者的符號選擇,順序為左手、左眼、口、右眼、右手——這裡只給出符號在相應集合中的序號(從 1 開始),數字間以空格分隔。
對每個使用者請求,在一行中輸出生成的表情。若使用者選擇的序號不存在,則輸出
are you kidding me? @\/@
。[╮][╭][o][~\][/~] [<][>]
[╯][╰][^][-][=][>][<][@][⊙]
[д][▽][_][ε][^] ...
41 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? @\/@
這道題的閱讀難度稍微有點大,但是難點在於將特殊符號都儲存在字串陣列中。之前想用%[^ ]將空格去掉,但是好像只能保留空格前面的字串,還是直接用if(c=='[')判斷較為方便。
2018.12.03
使用字串做的,但是除錯的時候一直有兩個case過不去,不知道為什麼,,,**2.
不清楚為什麼不行,也沒有除錯通過。。。
下面的**3是柳婼的**,通過動態陣列vector實現,可以ac。她的思路是設定兩個pointer,乙個j用來記錄『[』所在的位置,乙個k記錄『]』所在的位置。當找到i之後的j時,將子串str.substr(j+1,k-j-1)賦給字串型vector,然後break;然後j++,直到找到下乙個『[』,k也從上乙個位置進行k++,直到下乙個『]』,重複以上過程,最後將乙個字串都存入以字串型vector為元素的vector,也就是二維動態陣列。
**1:c
//1052 賣個萌 v1
#include #include char hand[10][5],eye[10][5],mouse[10][5];
int get_symbol(char p[5])
p[i][j]='\0';
i++;
j=0;
} }return (i-1);
}int main()
return 0;
}
**2:c++
#include #include using namespace std;
int main(),a[5]=;
for(int i=0;i<3;i++)
num[i]=cnt;
}// cout<>n;
for(int i=0;i>a[i];
getchar();
// if((a[0]>=0&&a[0]=0&&a[4]=0&&a[1]=0&&a[3]=0&&a[2]=num[0]||a[4]>=num[0]||a[1]>=num[1]||a[3]>=num[1]||a[2]>=num[2]||a[0]<1||a[4]<1||a[1]<1||a[3]<1||a[2]<1)
cout<<"are you kidding me? @\\/@"<**3
#include #include using namespace std;
int main()
else cout << v[0][a-1] << "(" << v[1][b-1] << v[2][c-1] << v[1][d-1] << ")" << v[0][e-1] << endl;
}return 0;
}
PTA 乙級 1052 賣個萌 C 實現
萌萌噠表情符號通常由 手 眼 口 三個主要部分組成。簡單起見,我們假設乙個表情符號是按下列格式輸出的 左 手 左 眼 口 右 眼 右 手 現給出可選用的符號集合,請你按使用者的要求輸出表情。輸入格式 輸入首先在前三行順序對應給出手 眼 口的可選符號集。每個符號括在一對方括號 內。題目保證每個集合都至...
PAT 乙級 1052 賣個萌
時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 萌萌噠表情符號通常由 手 眼 口 三個主要部分組成。簡單起見,我們假設乙個表情符號是按下列格式輸出的 左手 左眼 口 右眼 右手 現給出可選用的符號集合,請你按使用者的要...
PAT乙級 1052 賣個萌
萌萌噠表情符號通常由 手 眼 口 三個主要部分組成。簡單起見,我們假設乙個表情符號是按下列格式輸出的 左手 左眼 口 右眼 右手 現給出可選用的符號集合,請你按使用者的要求輸出表情。輸入首先在前三行順序對應給出手 眼 口的可選符號集。每個符號括在一對方括號內。題目保證每個集合都至少有乙個符號,並不超...