CF1213E Two Small Strings 細節
CF1213E Two Small Strings
簡單的字串構造題,但是要注意細節。
ACM周賽的時候,WA on test 4,WA on test 10,WA on test 20…最後幾分鐘好不容易才A了。還是要更加註意考慮一些細節。
因為只要輸出任意一種符合情況的答案,我們只用考慮兩種不同的方案,就能夠解決所有的情況。一種是形如“abcabcabc”,字母按照週期輸出;一種是形如“aaabbbccc”,每個字母連續輸出。
對於這道題,難度並不是很大,直接列舉所有情況即可,找到一種符合要求的方案。對於第一種方案,如果輸入的n大於1時,我們需要判斷週期末尾的字母是否可以接週期開頭的字母;對於第二種方案,如果輸入的n大於1時,我們需要注意是否允許連續出現同一種字母,若輸入的兩個限制的字串當中有連續的,則只能採取第一種方案。
AC程式碼:
#include <cstdio>
int main()
{
int n;
char r[3],s[2],t[2];
scanf("%d",&n);
scanf("%s",s);
scanf("%s",t);
int flag=0,cons=0;
if(s[0]==s[1]||t[0]==t[1])
{
cons=0;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
for(int k=0;k<3;k++)
{
r[0]='a'+i;
r[1]='a'+j;
r[2]='a'+k;
if(r[0]==r[1]||r[0]==r[2]||r[1]==r[2])
continue;
if(r[0]==s[0]&&r[1]==s[1]||r[1]==s[0]&&r[2]==s[1]||r[2]==s[0]&&r[0]==s[1]
||r[0]==t[0]&&r[1]==t[1]||r[1]==t[0]&&r[2]==t[1]||r[2]==t[0]&&r[0]==t[1])
continue;
flag=1;
goto label;
}
}
else
{
cons=1;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
for(int k=0;k<3;k++)
{
r[0]='a'+i;
r[1]='a'+j;
r[2]='a'+k;
if(r[0]==r[1]||r[0]==r[2]||r[1]==r[2])
continue;
if(r[0]==s[0]&&r[1]==s[1]||r[1]==s[0]&&r[2]==s[1]
||r[0]==t[0]&&r[1]==t[1]||r[1]==t[0]&&r[2]==t[1])
continue;
flag=1;
goto label;
}
}
label:
if(flag==0)
printf("NO\n");
else
{
printf("YES\n");
if(cons==0)
for(int t=0;t<n;t++)
for(int i=0;i<3;i++)
printf("%c",r[i]);
else
for(int i=0;i<3;i++)
for(int t=0;t<n;t++)
printf("%c",r[i]);
printf("\n");
}
return 0;
}
相關文章
- [題解]AT_abc272_f [ABC272F] Two Strings
- Educational Codeforces Round 98 (Rated for Div. 2) E. Two Editorials 細節題
- 小細節
- C# split big file into small files as, and merge the small files into big oneC#
- Small Multiple(最短路)
- OpenFeign 使用細節
- MyBatis摳細節MyBatis
- Docker映象細節Docker
- 理理Vue細節Vue
- 細節總結
- Wise 打包細節
- no-strings-attached
- Encode and Decode Strings
- Python入門細節Python
- DialogFragment細枝末節Fragment
- Python進階細節Python
- Vue、Javascript小細節VueJavaScript
- 慢慢細談Android 面試的細節Android面試
- COMP2211A small shell interface
- However small the rewards may seem in comparison
- coca after two months vs in two months
- Go Standard library - stringsGo
- Add Strings 字串相加字串
- strings 和 strconv 包
- Spring(4)-AOP使用細節Spring
- PE節表詳細分析
- GO 變數使用細節Go變數
- EfficientNet模型的完整細節模型
- MQ 架構與細節MQ架構
- python包匯入細節Python
- php json_encode 細節PHPJSON
- 爬蟲細節總結爬蟲
- css細節知識點CSS
- Golang陣列注意細節Golang陣列
- ORACLE _small_table_threshold與eventOracle
- They just wanted to find small ways to throw people
- Java集合詳解8:Java集合類細節精講,細節決定成敗Java
- [LeetCode] 205. Isomorphic StringsLeetCode