AtCoder Regular Contest #019 A問題 - お買い物クライシス

Source

AtCoder Regular Contest #019
問題文

問題概要

$N$ 文字の文字列 $S$ が与えられる. $\verb|O|$,$\verb|D|$ を $\verb|0|$ に, $\verb|I|$ を $\verb|1|$ に, $\verb|Z|$ を $\verb|2|$ に, $\verb|S|$ を $\verb|5|$ に, $\verb|B|$ を $\verb|8|$ に置き換えて出力する問題.

解法

やるだけ.

C++によるスパゲッティなソースコード

#include<cstdio>
#include<vector>
#include<set>
#include<map>
#include<queue>
#include<algorithm>
#include<string>
#include<utility>
#include<iostream>
#include<cmath>
using namespace std;

#define REP(i,a,b) for(i=a;i<b;i++)
#define rep(i,n) REP(i,0,n)

#define mygc(c) (c)=getchar_unlocked()
#define mypc(c) putchar_unlocked(c)

int reader(char c[]){int i,s=0;for(;;){mygc(i);if(i!=' '&&i!='\n'&&i!='\r'&&i!='\t') break;}c[s++]=i;for(;;){mygc(i);if(i==' '||i=='\n'||i=='\r'||i=='\t') break;c[s++]=i;}return s;}
void writer(char c){mypc(c);}

int main(){
  char S[10];
  int N, cnv[128];
  int i;

  rep(i,128) cnv[i] = i;
  cnv['O'] = '0';
  cnv['D'] = '0';
  cnv['I'] = '1';
  cnv['Z'] = '2';
  cnv['S'] = '5';
  cnv['B'] = '8';

  N = reader(S);
  rep(i,N) writer((char)cnv[S[i]]);
  writer('\n');

  return 0;
}

Current time: 2017年07月23日17時35分56秒
Last modified: 2014年04月13日06時21分42秒 (by laycrs)
Tags: Competitive_Programming AtCoder AtCoder_Regular_Contest ARC019 ARC_A
トップページに戻る

Logged in as: unknown user (not login)

ログイン: