1052 賣個萌 c實現

2021-08-31 01:41:15 字數 2122 閱讀 6602

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 賣個萌

萌萌噠表情符號通常由 手 眼 口 三個主要部分組成。簡單起見,我們假設乙個表情符號是按下列格式輸出的 左手 左眼 口 右眼 右手 現給出可選用的符號集合,請你按使用者的要求輸出表情。輸入首先在前三行順序對應給出手 眼 口的可選符號集。每個符號括在一對方括號內。題目保證每個集合都至少有乙個符號,並不超...