Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
为什么re呢, 是不是就是递归搜索阿#include <iostream> #include <iomanip> #include <cmath> #include <string> #include <vector> using namespace std; string text[120]; char ce[120]; int choice[120][2]; vector <int> vchoice; vector <int> vend; vector <int> story; string end[120]; string temp; void find(int i) { if (ce[i] == 'E') { if(end[i] == "HAPPY") { for(i = 0; i < story.size(); i ++) { cout << text[story[i]] << endl; } return; } } else { story.push_back(choice[i][0]); find(choice[i][0]); story.pop_back(); story.push_back(choice[i][1]); find(choice[i][1]); story.pop_back(); } return; } int main() { int n; cin >> n; int count = 1; while(n --) { int c, i, pos1, pos2; vchoice.clear(); vend.clear(); story.clear(); cin >> c; for(i = 1; i <= c; i ++) { cin >> ce[i]; getline(cin, text[i]); pos1 = text[i].find_first_of('"', 0); pos2 = text[i].find_last_of('"', text[i].length()); if(ce[i] == 'C') { choice[i][0] = text[i][text[i].length() - 1] - '0'; choice[i][1] = text[i][text[i].length() - 3] - '0'; vchoice.push_back(i); } else { end[i] = text[i].substr(pos2 + 2, text[i].length() - pos2 - 2); vend.push_back(i); } text[i] = text[i].substr(pos1 + 1, pos2 - pos1 - 1); } story.push_back(1); cout << "STORY " << count ++ << endl; find(1); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator