結果
| 問題 | No.9006 マルチバイト文字テスト(テスト用) |
| ユーザー |
|
| 提出日時 | 2018-03-06 16:10:02 |
| 言語 | C++14 (gcc 15.2.0 + boost 1.89.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 5,000 ms |
| コード長 | 645 bytes |
| 記録 | |
| コンパイル時間 | 1,352 ms |
| コンパイル使用メモリ | 166,348 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-09-19 07:49:04 |
| 合計ジャッジ時間 | 1,888 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
bool bChkMB( const char C )
{
if( C >= '0' && C <= '9' )
return false;
else if( C >= 'a' && C <= 'z' )
return false;
else if( C >= 'A' && C <= 'Z' )
return false;
else
return true;
}
int main()
{
int i;
int iPos;
char C;
char S[ 1000 ];
char T[ 1000 ];
cin >> S;
i = 0;
iPos = 500;
T[ iPos ] = '\0';
while( ( C = S[ i ] ) != '\0' )
{
if( bChkMB( C ) )
{
iPos -= 3;
T[ iPos ] = C;
T[ iPos + 1 ] = S[ i + 1 ];
T[ iPos + 2 ] = S[ i + 2 ];
i += 3;
}
else
{
iPos--;
T[ iPos ] = C;
i++;
}
}
cout << (char*) ( T + iPos ) << endl;
return 0;
}