P7817 [RC-05] 迷失自我 题解

· · 题解

这道题在比赛中是第一题,所以理论上讲并不算很难,但看到题面,心中不免有些颤动。再看测试数据,一个测试点 2 分,另一个有 98 分,目测应该是一个规律题,但写了半天就是写不出来,直到赛后看了公开的题解才恍然大悟,所以我在这里更通俗的说一下解法,也是弥补一下当时的遗憾~~

题目传送门

思路

所以对于一个长度小于 2 的字符串,它不满足第二种方法,推一下的话都只有一对字符串无法识别。所以直接判断 n 的范围直接输出对应答案即可。

Code

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
inline long long read()
{
    long long s=0,w=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){
        if(ch=='-') w=-1;
        ch=getchar();
    } 
    while(ch>='0'&&ch<='9'){
        s=s*10+ch-'0';
        ch=getchar();
    }
    return s*w;
}
long long n,t;
void work()
{
    n=read();
    if(n>2)
        cout<<0<<endl;
    if(n<=2)    
        cout<<1<<endl; //推出的结果
}
int main()
{
    t=read();
    while(t--)
        work();
    return 0;
}

对于这道题,收获还是蛮多的~~