这是我的代码,用于查找是否已存在一对(id,c)。我使用multimap来存储(id,c)对值。我一直在错误地回答这段代码。我哪里错了?
问题链接 - http://www.spoj.com/problems/RPLD/
我得到了问题中给出的测试用例的正确答案。但是在提交后获得WA。
#include <iostream>
#include <tuple>
#include <map>
using namespace std;
int main()
{
int t,i=1;
cin >> t;
while(t--){
int n , r, f;
cin >> n >> r;
multimap <long int ,long int> s;
pair <long int,long int> p;
f= 0;
while(r > 0){
long int id,c,idx =0;
cin >> id >> c;
if(f == 0){
p = make_pair(id,c);
for(multimap<long int,long int>::iterator it = s.find(id); it != s.end(); it++){
++idx;
if(it->second == c)
f=1;
}
if(idx == 0)
s.insert(p);
idx = 0;
}
--r;
}
if(f==0)
cout << "Scenario #"<<i<<": possible"<<endl;
else
cout << "Scenario #"<<i<<": impossible"<<endl;
++i;
s.clear();
}
}