|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 白牡丹秀色可餐 于 2022-4-24 22:23 编辑
第一块代码是我写的,第二块代码是网上找到的(测试是一百分),但不清楚为什么我的代码一直只有九十分,请问是有什么漏洞吗?(题目在下面)
- #include<stdio.h>
- #define N 100000
- int main()
- {
- int a[N];
- int n,k;
- int b,c;
- int count = 0;
- a[0] = 1;
- scanf("%d %d", &n,&k);
- while (k--) {
- scanf("%d %d", &b, &c);
- if (a[c] != 1) {
- count++;
- }
- a[b] = 1;
- }
- printf("%d", count);
-
-
- return 0;
-
- }
复制代码- #include <iostream>
- #include <cstring>
- #include <algorithm>
- #include <cmath>
- using namespace std;
- const int N = 100010;
- bool a[N]; //记录该变量是否已经初始化
- int n, k;
- int main()
- {
- cin >> n >> k;
- a[0] = 1; //a[0]为常量,不需要初始化
- int res = 0;
- while (k --)
- {
- int x, y;
- cin >> x >> y;
- if (!a[y]) res ++; //右值未初始化,则答案加一
- a[x] = 1; //另左值标记为已初始化
- }
- cout << res;
- return 0;
- }
复制代码
最后发现是没有初始化数组a
|
-
题目.1
-
题目.2
|