1. 程式人生 > >【 OJ 】 HDOJ1048 18年12月15日22:48 [ 42 ]

【 OJ 】 HDOJ1048 18年12月15日22:48 [ 42 ]

Presentation Error

是在看不出哪裡格式錯了,提交了幾十次了,懶得搞了,弄了半天,我的思路就是26取模,

也可以弄另外一個數組儲存暗文 str[i]=s[ch[i]-'A'] 

結果:

START
NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX
END
START
N BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJ
END
START
IFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ
END
ENDOFINPUT
IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES
I WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROME
DANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE
請按任意鍵繼續. . .
# include<iostream>
# include<string>
using namespace std;
int main(void) {
	string s,result;
	bool f;
	cin >> s;
	while (!strcmp(s.c_str(), "START")) {
		f = false;
		cin >> s;
		int slen,num;
		while (strcmp(s.c_str(), "END")) {
			slen = s.length();
			for (int i = 0; i < slen; i++) {
				if (s[i] >= 'A'&&s[i] <= 'Z') {
					num = s[i] - 'A';
					num += 26;
					s[i] = (num - 5) % 26+'A';//26取餘為0
				}
			}
			if (f)
				result += " ";
			result += s;
			f = true;
			cin >> s;//錄入下一個單詞
		}
		result += "\n";
	//	cout << result << endl;
	//	result.clear();
		cin >> s;//錄入下一個START
	}
	cout << result;
	system("pause");
	return 0;
}