程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> NYOJ:題目490 翻譯,nyoj題目490翻譯

NYOJ:題目490 翻譯,nyoj題目490翻譯

編輯:C++入門知識

NYOJ:題目490 翻譯,nyoj題目490翻譯


題目鏈接:http://acm.nyist.net/JudgeOnline/problem.php?pid=490

這題的輸入輸出格式好像描述的不太清楚,
1)可能是所有數據都完成輸入,然後再輸出(解法1,內存可能不夠,對題意通用性高(AC通過))
2)也可能是待測試的數據輸完一行就立馬輸出一行結果(解法2,內存能夠,因為題意有歧義可能不能這樣解(沒通過))
兩種寫法都寫了,最後以第一種輸入輸出格式通過的,還好後台數據沒有內存超出的

下面貼上代碼:

解法1(AC):

1 //解法1,內存可能不夠,對題意通用性高(AC通過) 2 #include<iostream> 3 #include<map> 4 #include<cstdio> 5 using namespace std; 6 int main() { 7 string s[3005], s0, s1 = "", s2 = ""; 8 map<string, string> f; 9 f["czy"] = "cml"; 10 cin >> s1; 11 while(s2 != "BEGIN") { 12 cin >> s1 >> s2; 13 f[s2] = s1; 14 } 15 int n = 0; 16 char ch[3005]; 17 do { 18 cin >> s[++n]; 19 ch[n] = getchar(); 20 }while(s[n] != "END"); 21 for(int i = 1; i < n; i++) { 22 s0 = ""; 23 for(int j = 0; j < s[i].size(); j++) { 24 if(s[i][j] >= 'a' && s[i][j] <= 'z') { 25 s0 += s[i][j]; 26 } else { 27 if(f[s0] != "") cout << f[s0]; 28 else cout << s0; 29 cout << s[i][j]; 30 s0 = ""; 31 } 32 } 33 if(f[s0] != "") cout << f[s0]; 34 else cout << s0; 35 if(ch[i] == '\n') cout << "\n"; 36 else cout << " "; 37 } 38 } <代碼實現>點擊展開

解法2(WA):

1 //解法2,內存能夠,因為題意有歧義可能不能這樣解(沒通過) 2 #include<iostream> 3 #include<map> 4 #include<cstdio> 5 #include<cstring> 6 using namespace std; 7 int main() { 8 string s0, s1 = "", s2 = ""; 9 map<string, string> f; 10 f["czy"] = "cml"; 11 cin >> s1; 12 while(1) { 13 cin >> s1 >> s2; 14 if(s2 == "BEGIN") break; 15 f[s2] = s1; 16 } 17 char s[3005]; 18 getchar(); 19 while(1) { 20 gets(s); 21 if(s[0] == 'E' && s[1] == 'N' && s[2] == 'D') break; 22 s0 = ""; 23 for(int i = 0; i < strlen(s); i++) { 24 if(s[i] >= 'a' && s[i] <= 'z') { 25 s0 += s[i]; 26 } else { 27 if(f[s0] != "") cout << f[s0]; 28 else cout << s0; 29 cout << s[i]; 30 s0 = ""; 31 } 32 } 33 cout << endl; 34 } 35 } <代碼實現>點擊展開

                                 開始寫於:2016.9.30  ----志銀

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved