2021 年百度之星·程序设计大赛 - 复赛 1001 Palindrome(结论,奇偶性)

Posted 小哈里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021 年百度之星·程序设计大赛 - 复赛 1001 Palindrome(结论,奇偶性)相关的知识,希望对你有一定的参考价值。

problem

solution

  • 看到这个题第一个猜结论就是奇偶性,简单验证一下会发现k是奇数就Yes,偶数就No。其实也不难证明,偶数的时候,对于任意一段长为k的回文串,往右边移动一个的新的串,一定不是回文,奇数就可以构造出来。
  • 然后特判的话,因为要两个字母n==1就不行了,n==2的时候,如果k也是2,那两个不同字母也不行。剩下的就是k为1或者k和n相等都可以,其余的奇偶性判断就行。
#include<bits/stdc++.h>
using namespace std;
int main(){
    int T;  cin>>T;
    while(T--){
        int n, k;  cin>>n>>k;
        if(n==1){cout<<"No!\\n"; continue;}
        if(n==2&&k==1){ cout<<"Yes!\\n"; continue; }
        if(n==2&&k==2){ cout<<"No!\\n"; continue; }
        if(k==1||n==k){ cout<<"Yes!\\n"; continue; }
        if(k%2==1)cout<<"Yes!\\n";
        else cout<<"No!\\n";
    }
    return 0;
}

以上是关于2021 年百度之星·程序设计大赛 - 复赛 1001 Palindrome(结论,奇偶性)的主要内容,如果未能解决你的问题,请参考以下文章

2019 年百度之星·程序设计大赛 - 复赛

2018“百度之星”程序设计大赛 - 复赛

2018 “百度之星”程序设计大赛 - 复赛

2022百度之星程序设计大赛 - 复赛 1001 子序列

2022百度之星程序设计大赛 - 复赛 1001 子序列

2022百度之星程序设计大赛 - 复赛 1003 最大值