代码求调,80分,前四个点n<=2的全错
查看原帖
代码求调,80分,前四个点n<=2的全错
752387
4d_c楼主2023/10/9 17:40
#include<bits/stdc++.h>
using namespace std;

int main() {
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(0);
    int n, q;
    cin >> q;
    while (q -- ) {
        cin >> n;
        int t[2005] = {0};
        int tt[2005] = {0};
        int b[2005] = {0};
        for (int i = 1; i <= n; i ++ ) cin >> t[i];
        for (int i = 1; i <= n; i ++ ) tt[i] = t[i] + t[n-i+1];
        for (int i = 1; i <= n; i ++ ) cin >> b[i];
        while (1) {
            double k = 1.0 * b[1] / tt[1];
            if (n == 1 and (k != int(k) or k <= 0)) {puts("No"); break; }
            bool f = 1;
            if (k != int(k)) f = 0;
            for (int i = 2; i <= n; i ++ ) {
                if (k * tt[i] != b[i]) f = 0;
            }
            if (f == 1) {puts("Yes"); break; }
            f = 1;
            for (int i = 1; i <= n; i ++ ) {
                b[i] -= t[i];
                if (b[i] >= 0) f = 0;
            }
            if (f == 1) {puts("No"); break; }
        }
    }
    return 0;
}
2023/10/9 17:40
加载中...