結果
問題 | No.539 インクリメント |
ユーザー | Bantako |
提出日時 | 2017-08-11 15:25:55 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,525 bytes |
コンパイル時間 | 1,792 ms |
コンパイル使用メモリ | 174,648 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-12 20:36:23 |
合計ジャッジ時間 | 2,742 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
5,248 KB |
testcase_01 | AC | 40 ms
5,248 KB |
testcase_02 | RE | - |
testcase_03 | RE | - |
コンパイルメッセージ
main.cpp:6:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type] 6 | main(){ | ^~~~
ソースコード
#include<bits/stdc++.h> typedef long long ll; using namespace std; int INF = 1e9; int MOD = 1e9+7; main(){ int N; cin >> N; cin.ignore(); string s; for(int j = 0;j < N;j++){ int numsize = 0,zflag = 0; getline(cin,s); for(int i = s.length()-1;i >= 0;i--){ if(s[i] >= '0' && s[i] <= '9'){ if(numsize == 0 && s[i] == '0'){ s[i] = '1'; break; } if(s[i] == '0') zflag = 1; else{ numsize++; continue; } } if(numsize){ string first,second,numstr; first = s.substr(0,i+1); second = s.substr(i+numsize+1,s.length()-numsize-i-1); int num = stoi(s.substr(i+1,numsize))+1; if(zflag && (int)log10(num) != (int)log10(num-1))first.erase(first.end()); stringstream ss; ss << num; numstr = ss.str(); s = first + numstr + second; numsize = 0; break; } } if(numsize){ string second,numstr; second = s.substr(numsize,s.length()-numsize); int num = stoi(s.substr(0,numsize))+1; stringstream ss; ss << num; numstr = ss.str(); s = numstr + second; } cout << s << endl; } }