Link:

Codeforces #211 传送门

一套非常简单的题目,但很多细节都是错了一次才能发现啊……

还是不能养成OJ依赖症,交之前先多想想corner case!!!

 

A:

模拟,要特判0啊

#include <bits/stdc++.h>

using namespace std;
#define X first
#define Y second
typedef long long ll;
typedef double db;
typedef pair<int,int> P;
int n;
void solve(int x)
{
    if(x<5) printf("O-|");
    else printf("-O|");
    if(x>=5) x-=5;
    for(int i=1;i<=x;i++) printf("O");
    printf("-");
    for(int i=1;i<=4-x;i++) printf("O");
    puts("");
}

int main()
{
    scanf("%d",&n);
    if(!n) solve(0);//特判0! 
    while(n) solve(n%10),n/=10;
    return 0;
}
Problem A

相关文章: