求助,一直卡着过不去
查看原帖
求助,一直卡着过不去
363006
wangyibo201026楼主2021/12/2 19:12

本人听从了几位大佬的意见,将 map 换成了 unordered_map 还是过不了。

代码:

#include<bits/stdc++.h>

using namespace std;

int t, n, a[4005], b[4005], c[4005], d[4005];
bool f;

unordered_map<int, bool> vis;

void Solve(){
  cin >> t;
  while(t--){
    int sum = 0;
    cin >> n;
    for(int i = 1; i <= n; i++){
      cin >> a[i] >> b[i] >> c[i] >> d[i];
    }
    for(int i = 1; i <= n; i++){
      for(int j = 1; j <= n; j++){
        vis[c[i] + d[j]] = true;
      }
    }
    for(int i = 1; i <= n; i++){
      for(int j = 1; j <= n; j++){
        if(vis[0 - a[i] - b[j]]){
          sum++;
        }
      }
    }
    for(int i = 1; i <= n; i++){
      for(int j = 1; j <= n; j++){
        vis[c[i] + d[j]] = false;
      }
    }
    if(!f){
      f = true;
    }
    else{
      cout << endl << endl;
    }
    cout << sum;
  }
}

int main(){
  Solve();
  return 0;
}
2021/12/2 19:12
加载中...