天天看點

【POJ】:POJ 3117 World Cup吐槽題意解題思路代碼

吐槽

呵呵呵呵,一下子想到了方法,然後對其進行了實作,但是後來居然仍然沒有被AC,最後上網找了些許答案,發現他們跟我的一樣,不知道是怎麼AC的,最後試了很多最後終于AC了

題意

一場足球賽中,若果雙方 平手 的話,那麼雙方各得一分,否則,赢的一方得3分,輸的一方不得分。 輸入比賽的數量 t 和 各隊的得分,求出結果為平局的比賽的數量。

解題思路

如果用其他方法肯定不太好使,數學方法巨簡單。。。

先求出各隊得分的 總和 sum ,設 不是 平局的數量為 X, 平局的數量 為 Y, 則可得方程組:

3X + 2Y = sum ; X + Y = t (t 為比賽的總數量)

解之得 : Y = 3t - sum

代碼

呵呵呵呵,我能告訴你OJ系統真坑嗎,代碼中指出

#include <iostream>
#include <string>
using namespace std;
int main(){
    int num,frequency;
    while(cin>>num>>frequency && num ){//就是這個點,不能添加 && frequency,否則就會認為是錯的
        string s;
        int p_score,sum=;
        for(int i=;i<num;i++){
            cin>>s>>p_score;
            sum+=p_score;
        }
        cout<<(frequency*-sum)<<endl;
    }
    return ;
}