我是個對電腦科學有興趣的學生,我會貼上我的學習歷程及生活心情,也請大大們多多指教。 :)

2015年3月20日 星期五

[UVa] 10082 - WERTYU

題目網址: http://goo.gl/hnSX5c

題 意: 鍵盤壞掉,每個鍵所對應到的實際輸入會變成它左邊的那個鍵。


解法: 直接做。

TAG: ad hoc

注意:

程式碼:
/**
* Tittle: 10082 - WERTYU
* Author: Cheng-Shih, Wong
* Date: 2015/03/20
*/
// include files
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
// definitions
#define FOR(i,a,b) for( int i=(a),_n=(b); i<=_n; ++i )
#define clr(x,v) memset( x, v, sizeof(x) )
// declarations
char buf;
// functions
// main function
int main( void )
{
// input & solve
while( (buf = getchar()) != EOF ) {
if( buf==' ' || buf=='\n' )
putchar(buf);
else {
switch( buf ) {
case '1': buf = '`'; break;
case '2': buf = '1'; break;
case '3': buf = '2'; break;
case '4': buf = '3'; break;
case '5': buf = '4'; break;
case '6': buf = '5'; break;
case '7': buf = '6'; break;
case '8': buf = '7'; break;
case '9': buf = '8'; break;
case '0': buf = '9'; break;
case '-': buf = '0'; break;
case '=': buf = '-'; break;
case 'W': buf = 'Q'; break;
case 'E': buf = 'W'; break;
case 'R': buf = 'E'; break;
case 'T': buf = 'R'; break;
case 'Y': buf = 'T'; break;
case 'U': buf = 'Y'; break;
case 'I': buf = 'U'; break;
case 'O': buf = 'I'; break;
case 'P': buf = 'O'; break;
case '[': buf = 'P'; break;
case ']': buf = '['; break;
case '\\': buf = ']'; break;
case 'S': buf = 'A'; break;
case 'D': buf = 'S'; break;
case 'F': buf = 'D'; break;
case 'G': buf = 'F'; break;
case 'H': buf = 'G'; break;
case 'J': buf = 'H'; break;
case 'K': buf = 'J'; break;
case 'L': buf = 'K'; break;
case ';': buf = 'L'; break;
case '\'': buf = ';'; break;
case 'X': buf = 'Z'; break;
case 'C': buf = 'X'; break;
case 'V': buf = 'C'; break;
case 'B': buf = 'V'; break;
case 'N': buf = 'B'; break;
case 'M': buf = 'N'; break;
case ',': buf = 'M'; break;
case '.': buf = ','; break;
case '/': buf = '.'; break;
}
putchar(buf);
}
}
return 0;
}

沒有留言:

張貼留言

任何意見都樂意傾聽