QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#776106 | #8760. 不等式 | WilliamFung | WA | 2ms | 10072kb | C++11 | 2.9kb | 2024-11-23 17:34:18 | 2024-11-23 17:34:19 |
Judging History
answer
#include <bits/stdc++.h>
#define endl '\n'
#define all(a) a.begin(), a.end()
#define ll long long
#define ull unsigned long long
#define inf 0x7fffffff;
//#define int long long
//#define III int
using namespace std;
using vi = vector<int>;
using vl = vector<ll>;
using vii = vector<vector<int>>;
using vll = vector<vector<ll>>;
using vpii = vector<pair<int, int>>;
using vpll = vector<pair<ll, ll>>;
//cout << ceil(-0.2) << endl;
const ll mod = 1e9 + 7;
//const ll mod = 998244353;
const ll INF = 1e18;
// struct node {
// ll dis, u;
// int hh;
// bool operator>(const node &a) const {return dis > a.dis;}
// };
struct now {
ll a, b;
bool operator<(const now& x) const {
return a < x.a;
}
};
ll qpow (ll a, ll b) {
ll ret = 1;
a %= mod;
while (b) {
if (b & 1) {
ret *= a;
ret %= mod;
}
b /= 2;
a = (a * a) % mod;
}
return ret;
}
ll cmp (ll a, ll b) {
if (a == 0) return 0;
if (a > b / 2) a = b - a;
ll x = 1, y = 1;
for (int i = 0; i < a; i++) {
x *= b - i;
x %= mod;
}
for (int i = 1; i <= a; i++) {
y *= i;
y %= mod;
}
ll ret = x * qpow(y, mod - 2);
ret %= mod;
return ret;
}
int dir[4][2] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};
struct node {
ll w, l, r;
};
// //int n;
// ll tree[500005];
// int lowbit(int x) {
// return x & (-x);
// }
// void add(int l, ll x) {
// for (int i = l; i <= n; i += lowbit(i)) {
// tree[i] += x;
// }
// }
// ll sum(int r) {
// ll ret = 0;
// for (int i = r; i >= 1; i -= lowbit(i)) {
// ret += tree[i];
// }
// return ret;
// }
int n, m;
ll in[200010];
vector<int> g[200010];
void solve() {
cin >> n >> m;
for (int i = 1; i <= m; i++) {
int a, b, c;
cin >> a >> b >> c;
g[b].push_back(a);
g[c].push_back(a);
in[a] += 2;
}
queue<int> q;
vector<ll> ans(n + 1);
vector<int> flag(n + 1);
for (int i = 1; i <= n; i++) {
if (in[i] == 0) {
q.push(i);
ans[i] = 1;
flag[i] = 1;
}
}
while (!q.empty()) {
int u = q.front();
q.pop();
for (int v : g[u]) {
in[v]--;
ans[v] += ans[u];
if (in[v] == 0) {
q.push(v);
flag[v] = 1;
}
}
}
for (int i = 1; i <= n; i++) {
if (flag[i] == 0) {
cout << -1 << endl;
return;
}
}
ll sum = 0;
for (int i = 1; i <= n; i++) {
sum += ans[i];
}
cout << sum << endl;
}
int main() {
std::ios::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr);
// helper();
int t = 1;
//cin >> t;
while (t--) solve();
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 1ms
memory: 8176kb
input:
3 1 1 2 2
output:
4
result:
ok 1 number(s): "4"
Test #2:
score: 0
Accepted
time: 2ms
memory: 9208kb
input:
3 1 1 2 3
output:
4
result:
ok 1 number(s): "4"
Test #3:
score: 0
Accepted
time: 0ms
memory: 9528kb
input:
3 1 1 2 2
output:
4
result:
ok 1 number(s): "4"
Test #4:
score: 0
Accepted
time: 0ms
memory: 10072kb
input:
3 1 1 2 2
output:
4
result:
ok 1 number(s): "4"
Test #5:
score: 0
Accepted
time: 1ms
memory: 8464kb
input:
3 1 1 2 2
output:
4
result:
ok 1 number(s): "4"
Test #6:
score: 0
Accepted
time: 1ms
memory: 9020kb
input:
5 1 1 2 2
output:
6
result:
ok 1 number(s): "6"
Test #7:
score: 0
Accepted
time: 0ms
memory: 9584kb
input:
5 1 1 2 2
output:
6
result:
ok 1 number(s): "6"
Test #8:
score: 0
Accepted
time: 2ms
memory: 9728kb
input:
5 1 1 2 2
output:
6
result:
ok 1 number(s): "6"
Test #9:
score: 0
Accepted
time: 1ms
memory: 8596kb
input:
5 1 1 2 3
output:
6
result:
ok 1 number(s): "6"
Test #10:
score: 0
Accepted
time: 1ms
memory: 8236kb
input:
5 2 1 2 3 2 3 4
output:
8
result:
ok 1 number(s): "8"
Test #11:
score: 0
Accepted
time: 1ms
memory: 9292kb
input:
10 1 1 2 3
output:
11
result:
ok 1 number(s): "11"
Test #12:
score: 0
Accepted
time: 2ms
memory: 9520kb
input:
10 1 1 2 2
output:
11
result:
ok 1 number(s): "11"
Test #13:
score: 0
Accepted
time: 0ms
memory: 9096kb
input:
10 2 1 2 3 2 3 4
output:
13
result:
ok 1 number(s): "13"
Test #14:
score: 0
Accepted
time: 1ms
memory: 8828kb
input:
10 2 1 2 2 2 3 4
output:
14
result:
ok 1 number(s): "14"
Test #15:
score: -100
Wrong Answer
time: 1ms
memory: 9196kb
input:
10 3 1 2 3 1 8 8 2 3 3
output:
15
result:
wrong answer 1st numbers differ - expected: '13', found: '15'