本文共 995 字,大约阅读时间需要 3 分钟。
#include #include #include #include #include #include using namespace std; int main() { int t; cin >> t; while (t--) { memset(a, 0, sizeof(a)); int n, m; cin >> n >> m; int flag1 = 0, flag2 = 0; for (int i = 1; i <= m; i++) { int x, y; cin >> x >> y; a[x] = y; if (x == 1) flag1 = 1; if (x == 2) flag2 = 1; } if (!flag1 && flag2) a[1] = 100; if (flag1 && !flag2) a[2] = a[1]; if (!flag1 && !flag2) a[1] = a[2] = 100; //if (flag1 && flag2); int temp = 0, flag = 0; for (int i = n; i >= 3; i--) { if (a[i] == 0 && flag == 0) a[i] = 0; else { if (a[i]) { flag = 1; temp = a[i]; } else if (!a[i] && flag) a[i] = temp; } } int sum2 = 0; for (int i = n; i >= 1; i--) { sum2 += a[i]; } int sum1 = a[1] + a[2]; int gcd = __gcd(sum1, sum2); cout << gcd << endl; } }
这段代码实现了一个读取输入并进行数组操作的程序。程序首先读取输入数据并存储在数组a中,然后对数组进行了一定的处理,最后计算并输出结果。代码中使用了多个标准库,包括iostream、string、map、algorithm、cstring和cstdio。程序的主要功能包括初始化数组、读取输入、数组操作以及计算最大公约数等。
转载地址:http://hfnt.baihongyu.com/