AtCoder ABC 171 反省
結果
A, B, D 問題は AC した(D 問題は勘違いで4回も WA してしまった)。C 問題は解けず。E, F 問題は見てもいなかった(C 問題で必死になりすぎた)。
感想
D 問題はアウトプットする数字が int 型ではオーバーフローしてしまうのに気がつかないという痛恨のミスをしてしまった。もう競プロをやるときは何も考えずに 64 bit の整数型を使った方がいいかもしれない。
C 問題復習
問題概要
にはそれぞれ a, b,, z を割り振る。 にはそれぞれ aa, ab,, zz を割り振る・・・というようなことを までやっていく。与えられた整数 に対応するアルファベットを出力せよ。
解き方
後でまとめます
AC したコード
#include<bits/stdc++.h> using namespace std; int main(){ int64_t n,tmp; cin >>n; int x=0; vector<char>ans; while(n){ n--; int tmp1=n%26+(int)'a'; ans.push_back((char)tmp1); x++; n/=26; } for(int i=x-1;i>=0;i--){ cout <<ans.at(i); } cout <<endl; }