$题解 AT1766 暗証番号$

Posted luke-skywalker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了$题解 AT1766 暗証番号$相关的知识,希望对你有一定的参考价值。

$ AT1766~\text暗証番号$
前言:

一道灰题(暂无评定)(题面上给的),但我觉的这是一道十分简单的红题(入门),估计刚学\(OI\)的小伙伴都会。好了,废话不多扯了,看题吧。


题目翻译已经给出来了,我就不多啰嗦了,因为\(n\)为四位数,完全可以使用int来做,但我因为方\((tou)\)便\((lan)\),就使用string做了。


接下来说一下本题的基本算法框架。
因为在本题解中,数的储存方式是string,所以,会变的十分简单。
只要一个for循环,从字符串的第二位开始枚举,到字符串的最后一位结束。
将当前枚举到的那个上的数与上一位的那个数进行对比,如果发现不一样,那就不符合题目要求,则cout<<"DIFFERENT"<<endl;return 0;
如果循环完了还没有发现不一样的,那输入的那个数肯定符合要求,则cout<<"SAME"<<endl;
好了,本题基本算法的框架就完工了,如果还没明白的请看代码进一步进行理解。


#include<bits/stdc++.h>  //万能头
using namespace std;
int main()

    string s;  //定义字符串
    cin>>s;    //将字符串输入
    for(int i=1;i<s.size();i++) //开始枚举
    if(s[i]!=s[i-1])  //如果发现当前位的数和上一位数不一样
    
        cout<<"DIFFERENT"<<endl;  //输出
        return 0;                 //直接结束程序
    
    cout<<"SAME"<<endl;   //每一位数都相同
    return 0;      //结束程序

以上是关于$题解 AT1766 暗証番号$的主要内容,如果未能解决你的问题,请参考以下文章

题解「AT4266」[ABC113B] Palace

题解 AT2582 [ARC075D] Mirrored

题解 AT934 完全数

题解 AT2190 SDカード

题解 AT4556 12/22

题解 AT5638 November 30