UVA----10082 WERTYU【字串】
阿新 • • 發佈:2018-12-19
WERTYU
題目大意:按照所給的鍵盤樣式,以及錯誤的字串,輸出正確的字串,其輸入的每一個字元都按照鍵盤樣式向右錯移了一位。
解決方法:將整個鍵盤用陣列存起來,遍歷一遍即可。
#include <cstdio> #include <iostream> #include <algorithm> #include <cmath> #include <cstdlib> #include <cstring> #include <map> #include <stack> #include <queue> #include <vector> #include <bitset> #include <set> #include <utility> using namespace std; typedef long long ll; #define inf 0x3f3f3f3f #define rep(i,l,r) for(int i=l;i<=r;i++) #define lep(i,l,r) for(int i=l;i>=r;i--) #define ms(arr) memset(arr,0,sizeof(arr)) //priority_queue<int,vector<int> ,greater<int> >q; const int maxn = (int)1e5 + 5; const ll mod = 1e9+7; char s[]={"`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./"}; //特別宣告:“\”為特殊字元,需要加上轉義字元“\”; char c[maxn]; int main() { //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); ios::sync_with_stdio(0),cin.tie(0); int c; int j; while((c=getchar())!=EOF) { for(j=0;s[j]&&s[j]!=c;j++); if(s[j]) printf("%c",s[j-1]); else printf("%c",c); } return 0; }