兩隊 n 場比賽,每場只記錄淨勝球絕對值(不知勝負)。求可能的最終比分對數。
設總進球數為 S,淨勝球為 D。已知 D(最後一場淨勝球),若知 S 則 x=(S+D)/2, y=(S-D)/2 唯一確定。
每場比賽:淨勝球變化 ±1 或 ±3(1→2 或 2→1 時總進球 +1,其餘 +3)。
設 cnt = 1↔2 切換的場數。則總進球和可能值有 cnt+1 種(0~cnt 次 +1)。
無效輸入判斷:連續相同淨勝球≠1,或相鄰場差值 >3 → 輸出 0。
int main() {
int T; scanf("%d", &T);
for (int cs=1; cs<=T; cs++) {
int n, cnt=0, last=0, cur; bool ok=1;
scanf("%d", &n);
for (int i=0; i3) ok=0;
if ((cur==1&&last==2) || (cur==2&&last==1)) cnt++;
last = cur;
}
int ans = ok ? (last==0 ? cnt+1 : 2*cnt+2) : 0;
printf("Case #%d: %d\n", cs, ans);
}
}