頭良くなりたい人

文系大学生shadeのブログです。競技プログラミングや人文学の話題,受験ネタなど。

ABC084 B - Postal Code

問題はこちら atcoder.jp

方針

A+1 文字目以外がちゃんと数字になっているかチェックするのが面倒かな,と思ったら,S は数字またはハイフンからなるという制約がありました。優しい。

コード

#include <bits/stdc++.h>
using namespace std;
 
int main(){
    int a,b;
    string s;
    cin>>a>>b>>s;
 
    bool judge=true;
 
    if(s.size()!=a+b+1){
        judge=false;
    }else if(s.at(a)!='-'){
        judge=false;
    }
 
    for(int i=0; i<a+b+1; i++){
        if(i==a){
            if(s.at(i)!='-'){
                judge=false;
            }
        }else{
            if(s.at(i)=='-'){
                judge=false;
            }
        }
    }
    
    cout<<(judge==true ? "Yes" : "No")<<endl;
}