# Modular Arithmetic# Mathematical Observation

b307 - 極.板條大冒險 (三):廖氏如神之門

🔗 前往 ZeroJudge 原題

題目描述

題目描述了兩個世界「板條界」和「板擦界」的時間流逝規律不同。板條界每單位時間過 a 年,板擦界每單位時間過 b 年。給定 a, b 和 q (單位時間的數量),判斷 q 個單位時間後,兩個世界的年份是否相同。如果相同,輸出 "SAFE",否則輸出 "BOOM"。由於年份過大,需要對 10007 取模。

解題思路

題目要求判斷兩個世界在 q 個單位時間後年份是否相同。板條界 q 個單位時間後的年份是 (a * q) % 10007,板擦界 q 個單位時間後的年份是 (b * q) % 10007。因此,只需要比較 (a * q) % 10007 和 (b * q) % 10007 是否相等即可。如果相等,輸出 "SAFE",否則輸出 "BOOM"。此外,題目還特別提到如果 a 和 b 相等,則輸出 "SAFE"。

複雜度分析

  • 時間複雜度: O(1)
  • 空間複雜度: O(1)

程式碼

#include <stdio.h>
int main(){
	long long int a,b,q,t;
	scanf("%lld",&t);
	while(t--){
		scanf("%lld%lld%lld",&a,&b,&q);
		if(a==b||a*q%10007==b*q%10007){
			printf("SAFE\n");
		}
		else{
			printf("BOOM\n");
		}
	}
}

Discussion