社区讨论

关于循环的玄学问题

学术版参与者 5已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@lpoz60n3
此快照首次捕获于
2023/12/03 12:20
2 年前
此快照最后确认于
2023/12/03 12:54
2 年前
查看原帖
输入包含 nn 个整数的数列 SS 以及包含 qq 个不重复整数的数列 TT,输出既包含于 SS 也包含于 TT 的整数的个数 CC
输入样例:
CPP
5
1 2 3 4 5
3
3 4 1
输出样例:
CPP
3
用此代码跑出来的结果是 22,真的特别无语。。。
CPP
/*
5
1 2 3 4 5
3
3 4 1
*/
#include <iostream>
#include <cstdio>

using namespace std;
const int N = 10010;

int n, m, a1[N], a2[N];

int sol1(int n, int m, int *a1, int *a2)
{
    int res = 0;
    for(int i = 1; i <= n; i ++)
    {
        int flag = 0;
        for(int j = 1; j <= m; j ++)
            if(a1[i] == a2[j])
            {
                flag = 1;
                break;
            }
        if(flag) res ++;
    }
    return res;
}

int main()
{
    scanf("%d%d", &n, &m);
    for(int i = 1; i <= n; i ++)
        scanf("%d", &a1[i]);
    for(int i = 1; i <= m; i ++)
        scanf("%d", &a2[i]);
    
    printf("%d", sol1(n, m, a1, a2));

    return 0;
}
求指正哪里错了,看不出来。

回复

6 条回复,欢迎继续交流。

正在加载回复...