Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Kiểm tra trạng thái bình chọn và độ không xác định bằng C++

Mô tả bài toán

Có x người upvote, y người downvote, z người chưa quyết định (có thể up hoặc down). Kết quả: '+' nếu up>down, '-' nếu down>up, '0' nếu bằng. Nếu z khiến kết quả có thể khác nhau → '?'.

Ví dụ

x=2,y=0,z=2 → Có thể up=4,down=0 → '+'; hoặc up=2,down=2 → '0' → không chắc chắn → '?'.

Thuật toán

  • Nếu x > y+z → chắc chắn '+'.
  • Nếu x+z < y → chắc chắn '-'.
  • Nếu z==0 → '0' (vì x==y).
  • Còn lại → '?'.

Code C++

#include <bits/stdc++.h>
using namespace std;

string solve(int x, int y, int z) {
    if (x > y + z) return "+";
    else if (x + z < y) return "-";
    else if (z == 0) return "0";
    else return "?";
}

int main() {
    int x=2,y=0,z=2;
    cout << solve(x,y,z) << endl;
    return 0;
}

Đầu vào / Đầu ra

Input: 2, 0, 2

Output: ?