SPOJ RPLD - 我的解决方案出了什么问题

时间:2015-11-02 08:43:25

标签: c++ stl

这是我的代码,用于查找是否已存在一对(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();
  }
}

0 个答案:

没有答案