hdu 4972 根據每輪籃球賽分差求結果

2021-06-26 11:19:06 字數 810 閱讀 7024

兩支球隊進行籃球比賽,每進一次球后更新比分牌,比分牌的計數方法是記錄兩隊比分差的絕對值,每次進球的分可能是1,2,3分。給定比賽中的計分情況,問說最後比分有多少種情況。

分情況討論即可:

相鄰計分之差大於3或者相等並且不等於1的話,為非法輸入

相鄰計分為1-2或者2-1的時候,會對應有兩種的的分情況

其他情況下,不會造成新的比分情況產生

需要特判對於最後一次比分差為0的情況,就沒有誰贏誰輸一說。

#include#include#includeusing namespace std;

int main()

for (int i=1;i<=n;i++) else

if (a[i]==a[i-1] && (a[i]!=1 || a[i-1]!=1)) else

if (a[i-1]==1 && a[i]==1) else

if (a[i-1]==1 && a[i]==2) else

if (a[i-1]==2 && a[i]==1) else

if (a[i-1]a[i]) l+=abs(a[i]-a[i-1]);

// printf("%d %d\n",l,r);

}if (!ok) ans=0;else

if (a[n]==0)

ans=(r-l-a[n]+1); else

ans=(r-l-a[n]+1)*2;

printf("case #%i64d: %i64d\n",cas,ans);

}return 0;

}

hdu4972 數學雜題

題意 有倆個隊進行n場比賽,每場只記錄下分差的絕對值 不知道哪一方 求最後可能比分。思考了半天,還分類討論。結果也想到只有 1 2 2 1的情況有倆種可能。哎還是跪,這題坑點交多,自己弱爆。官方正解 既然已經知道差值,那麼只有知道雙方最終得分之和就知道比分了!x y已知,當然要用x y去確定!問題轉...

hdu4972 數學雜題

題意 有倆個隊進行n場比賽,每場只記錄下分差的絕對值 不知道哪一方 求最後可能比分。思考了半天,還分類討論。結果也想到只有 1 2 2 1的情況有倆種可能。哎還是跪,這題坑點交多,自己弱爆。官方正解 既然已經知道差值,那麼只有知道雙方最終得分之和就知道比分了!x y已知,當然要用x y去確定!問題轉...

HDU 5459 根據題意找規律

題意 求乙個字串所有c字元位置到其它位置所需的步數和。思路 就根據題目的意思,如果要求出下一項則需要前兩項的和加上前兩項移動需要的步數,此時如果能從這裡想的話就很簡單了。include include include using namespace std typedef long long ll ...