大佬帮我看一下,这应该怎么停止 #include<iostream> #include<vector> #include<string> #include<time.h> using namespace std; bool check(vector<pair<string, int>>& v, string a, int *old_value, int* index) { for (unsigned int i = 0; i<v.size(); ++i) { if (v[i].first == a) { *old_value = v[i].second; *index = i; return true; } } return false; } int main() { int N; cin >> N; vector<pair<string, int>> v; vector<int> time(N,0); string a; int b; clock_t start, end; while ((cin>>a>>b)) { int old_value = 0; int index = 0; if (check(v, a, &old_value, &index)) { if (old_value<b) { v[index]= make_pair(a, b); } } else { if (v.size()<N) { v.push_back(make_pair(a, b)); for (unsigned int i = 0; i<v.size(); ++i) { time[i]++; } } else { int max = -1; for (unsigned int j = 0; j<time.size(); ++j) { if (time[j] > max) { max = time[j]; index = j; } } v[index] = make_pair(a, b); time[index] = 0; } } } for (unsigned int i = 0; i<v.size(); ++i) { cout << v[i].first << " " << v[i].second << endl; } return 0; }
点赞 评论

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务