深信服 2019校园招聘 研发试卷-2018.09.21

就做出来一道题,惭愧
深信服 2019校园招聘 研发试卷-2018.09.21_第1张图片
深信服 2019校园招聘 研发试卷-2018.09.21_第2张图片
深信服 2019校园招聘 研发试卷-2018.09.21_第3张图片
深信服 2019校园招聘 研发试卷-2018.09.21_第4张图片
深信服 2019校园招聘 研发试卷-2018.09.21_第5张图片
深信服 2019校园招聘 研发试卷-2018.09.21_第6张图片
感觉样例第三个有问题
1 2 3 3 6 9 我觉得应该输出1 1,可样例输出UNKNOWN
以下是错误代码,0%
实在找不到问题,,,GG

#include 

using namespace std;

int main()
{
    int T;
    cin >> T;
    for(int i=0; i<T; i++){
        float a1, b1, v1, a2, b2, v2, x, y;
        cin >> a1 >> b1 >> v1 >> a2 >> b2 >> v2;
        if(a1+b1 == v1 && a2+b2 == v2){
            cout << 1 << " " << 1 << endl;
            continue;
        }
        x = (v1-b1/b2*v2)/(a1-b1/b2*a2);
        y = (v2-a2*x)/b2;
        if(x >= 0 && x <= 1000000000 && y >= 0 && y <= 1000000000
           && x-(int)x == 0 && y-(int)y == 0){
            cout << x << " " << y << endl;
            continue;
        }
        cout << "UNKNOWN" << endl;
        //cout << x << " " << y << endl;
    }
    return 0;
}

3-1.png
深信服 2019校园招聘 研发试卷-2018.09.21_第7张图片
深信服 2019校园招聘 研发试卷-2018.09.21_第8张图片
深信服 2019校园招聘 研发试卷-2018.09.21_第9张图片
求最小连续子序列和,DP思想

#include 
#define MAX 10000005
// A[i] 存放序列,dp[i] 存放以 A[i] 为结尾的连续序列的最大和
int A[MAX], dp[MAX];
// 求较大值
int min(int a, int b) {
    return a<b ? a : b;
}
int main() {
    int T, i, res;
    scanf("%d", &T);
    for(i=0; i<T; ++i) {        // 输入序列
        scanf("%d", &A[i]);
    }
    dp[0] = A[0];                // 边界
    for(i=1; i<T; ++i) {
        // 状态转移方程
        dp[i] = min(A[i], dp[i-1] + A[i]);
    }
    // 求最大连续子序列和
    res = dp[0];
    for(i=1; i<T; ++i) {
        if(dp[i] < res) {
            res = dp[i];
        }
    }
    printf("%d\n", res);        // 输出
    return 0;
}

4-1.png
深信服 2019校园招聘 研发试卷-2018.09.21_第10张图片
深信服 2019校园招聘 研发试卷-2018.09.21_第11张图片
深信服 2019校园招聘 研发试卷-2018.09.21_第12张图片

你可能感兴趣的:(笔试总结,C++笔试题)