제출 #625335

#제출 시각아이디문제언어결과실행 시간메모리
625335OrazB슈퍼트리 잇기 (IOI20_supertrees)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #include "supertrees.h" #define N 1005 #define wr cout << "Continue debugging\n"; #define ll long long int #define pii pair <int, int> #define pb push_back #define ff first #define ss second using namespace std; int col[N], p[N][N], k[N], b[N][N], m[N]; vector <int> e[N]; int construct (vector <vector<int>> p){ int cnt = 0; for (int i = 0; i < (int)p.size(); i++){ for (int j = 0; j < (int)(int)p[i].size(); j++) if (p[i][j] != p[j][i]) return 0; } for (int i = 0; i < (int)p.size(); i++){ if (!col[i]) cnt++, col[i] = cnt; for (int j = 0; j < (int)p[i].size(); j++){ if (!p[i][j]) continue; col[j] = col[i]; if (p[i][j] != 1 and k[col[i]] and k[col[i]] != p[i][j]) return 0; else if (p[i][j] != 1) k[col[i]] = p[i][j]; } } for (int i = 0; i < (int)p.size(); i++) if (!k[col[i]]) k[col[i]] = 1; for (int i = 0; i < (int)p.size(); i++){ cnt = 0; for (int j = 0; j < (int)p[i].size(); j++) if (p[i][j] == k[col[i]]) cnt++; if (cnt < k[col[i]]) return 0; } cnt = 0; for (int i = 0; i < (int)p.size(); i++){ if (m[i]){ for (int j = 0; j < (int)p[i].size(); j++) if (e[m[i]][j] != p[i][j]) return 0; continue; } cnt++; for (int j = 0; j < (int)p[i].size(); j++) e[cnt].pb(p[i][j]); for (int j = 0; j < (int)p[i].size(); j++){ if (i == j or p[i][j] != 1 or m[j]) continue; b[i][j] = b[j][i] = 1; m[j] = cnt; } } for (int i = 0; i < (int)p.size(); i++){ if (m[i]) continue; for (int j = 0; j < (int)p[i].size(); j++){ if (p[i][j] < 2 or m[j]) continue; b[i][j] = b[j][i] = 1; } } build(b); // for (int i = 0; i < p.size(); i++){ // for (int j = 0; j < p[i].size(); j++) cout << b[i][j] << " "; // cout << '\n'; // } return 1; } // int main () // { // ios::sync_with_stdio(false); // cin.tie(0); // int n; // cin >> n; // vector<vector<int>> afk(n, vector <int> (n)); // for (int i = 0; i < n; i++){ // for (int j = 0; j < n; j++) cin >> afk[i][j]; // } // cout << construct(afk); // }

컴파일 시 표준 에러 (stderr) 메시지

supertrees.cpp: In function 'int construct(std::vector<std::vector<int> >)':
supertrees.cpp:55:8: error: could not convert '(int (*)[1005])(& b)' from 'int (*)[1005]' to 'std::vector<std::vector<int> >'
   55 |  build(b);
      |        ^
      |        |
      |        int (*)[1005]