# Greedy# Math# Conditional Statements

f337 - 1.同樂會 (Party)

🔗 前往 ZeroJudge 原題

題目描述

題目要求判斷給定的披薩數量是否足夠讓參加同樂會的所有人食用,每個人可以吃 2 到 3 片披薩。輸入包含參加人數 n 和披薩總數 m,輸出 "Yes" (足夠), "Not enough" (太少), 或 "Too much" (太多)。

解題思路

題目可以直接根據參加人數和披薩數量進行簡單的數學判斷。

  • 如果披薩總數小於 n * 2,則披薩不夠吃,輸出 "Not enough"。
  • 如果披薩總數大於 n * 3,則披薩太多,輸出 "Too much"。
  • 否則,披薩數量在合理範圍內,輸出 "Yes"。

複雜度分析

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

程式碼

#pragma GCC optimize("Ofast,unroll-loops,no-stack-protector,fast-math")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#include <stdio.h>
inline int read(){
	int a(0);
	char c('0');
	while(c>='0'){
		a=(a<<3)+(a<<1)+c-'0';
		c=getchar_unlocked();
	}
	return a;
}
int main(){
	int n=read(),m=read()<<3;
	if(m<n*2)
		puts("Not enough");
	else if(m>n*3)
		puts("Too much");
	else
		puts("Yes");
}

Discussion