程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> hdu oj 4300 Clairewd’s message AC code

hdu oj 4300 Clairewd’s message AC code

編輯:C++入門知識

hdu oj 4300 Clairewd’s message AC code


#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include

using namespace std;

int main(void)
{
	int T;
	cin >> T;
	while (T--) {
		string S, msg;
		while (cin >> S >> msg) {
			//assume division point.
			int div = (msg.length())/ 2;
		
			//cout << div << endl;

			//partial decryption.
			string pmsg(msg.begin(), msg.begin()+div);
			for (int i = 0; i < pmsg.length(); ++i) {
				pmsg[i] = 'a'+S.find(pmsg[i]);
			}

			//cout << pmsg << endl;

			//pinpoint the division point.
			int pos;
			for (pos = div; pos < msg.length(); ++pos) {
				if (msg.compare(pos, msg.length() - pos, pmsg.c_str(),msg.length() - pos) == 0)
					break;
			}
			

			cout << msg.substr(0, pos);
			for (int i = 0; i < pos; ++i) {
				cout << (char)('a' + S.find(msg[i]));
			}
			cout << endl;
		}
	}
	//system("pause");
	return 0;
}

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