首页 > 其他分享 >C1001 游戏题解

C1001 游戏题解

时间:2023-02-21 15:35:55浏览次数:40  
标签:得分 ch 游戏 题解 yyc Yes C1001 define

题目描述

\(everlasting\) 觉得太无聊了,于是决定和蒟蒻 \(yyc\) 玩游戏!

他们会玩 \(T\) 轮游戏,每轮游戏中有若干局,他们的初始积分为 \(1\),每局的分值为 \(k\),输的人的得分乘 \(k\),赢的人得分乘 \(k^2\)。每轮游戏后,\(everlasting\) 都会询问这次游戏双方的得分,但 \(yyc\) 记不住得分只能随口说两个得分。但他不知道这两个数最终会不会成为两个人的得分。于是 \(yyc\) 决定向你求助!

输入格式

第一行一个正整数 \(T\),表示游戏轮数。

接下来 \(T\) 行,每行两个数 \(x,y\),表示 \(yyc\) 随口说出的两个人的得分。

输出格式

\(T\) 行,每行一个“\(Yes\)”或“\(No\)”。表示这两个数是否合法。


对于每个 \(k\),根据题意,要么在 \(x\) 中出现 \(1\) 次、\(y\) 中两次,要么反之。
那么我们可以把 \(x\) 和 \(y\) 乘起来。记 \(M=x\times y\),则如果答案为 \(Yes\),则 \(M\) 必定可以开立方,因为无论 \(k\) 在 \(x\) 还是 \(y\) 中的出现次数如何,乘起来一定是 \(3\) 次。
于是我们证明了 \(M\) 可以开立方是答案为 \(Yes\) 的必要条件。但不是充分条件,比如 \(x=1,y=8\),显然不满足题目要求,但是满足 \(1\times 8=2^3\)。于是特判掉 \(k\) 只在 \(x\) 或 \(y\) 中出现的情况就行。\

#include <cstdio>
#include <cmath>
#define INF 0x7fffffff
#define MAXN 100005
#define eps 1e-9
#define LL long long
#define LXF int
#define RIN read_32()
#define HH printf("\n")
#define GC (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<20,stdin),p1==p2)?0:*p1++)
using namespace std;
char buf[1<<20],*p1,*p2;
inline  int read_32(){int X=0,w=0; char ch=0;while(ch<'0'||ch>'9') {w|=ch=='-';ch=GC;}while(ch>='0'&&ch<='9') X=(X<<3)+(X<<1)+(ch^48),ch=GC;return w?-X:X;}//read_32读int
int T;
int main(){
	T=RIN;
	while(T--){
		int x=RIN,y=RIN;
		int lf=pow((LL)x*(LL)y,0.333333333333334);
		if((LL)lf*(LL)lf*(LL)lf==(LL)x*(LL)y && x%lf==0 && y%lf==0){
			printf("Yes\n");
		}else{
			printf("No\n");
		}
	}
	return 0;
}

标签:得分,ch,游戏,题解,yyc,Yes,C1001,define
From: https://www.cnblogs.com/Cap1taL/p/17141135.html

相关文章

  • Vue前端框架Element 的form表单项el-form-item的label中空格不起效和多个空格只显示一
    搜索了一下,大部分是说使用slot解决,但是使用&nbsp;&nbsp;只显示一个后又看到一篇文章Vue使用&nbsp空白占位符-钟小嘿-博客园(cnblogs.com)使用转义,但要用v-html,......
  • 第九届蓝桥杯题解
    第九届蓝桥杯题解A,第几天packagetrain;publicclasstest_27{publicstaticvoidmain(String[]args){System.out.println(31+29+31+30+4);}}......
  • P9064 [yLOI2023] 苦竹林 题解
    题目传送门题目大意给定一个长度为\(n\)序列\(a\),从中选取\(m\)个,满足对任意的\(1\leqi,j\leqm\),都有\(|b_i-b_j|\leq\varepsilon\),其中,\(b\)是选出来......
  • P2016 战略游戏
     #include<bits/stdc++.h>usingnamespacestd;constintN=1600,M=5*N;intn,in[N],nxt[M],go[M],hd[N],all=1,f[N][2];voidadd(intx,inty){ go[++al......
  • 「题解」洛谷 P5829 【模板】失配树
    crashednb/se不过它解释为什么跳\(k\bmodd+d\)确实有点迷,不懂为什么直接跳\(k\bmodd\)会挂可以手摸一下峰峰峰的hack,从25开始跳。简单做法就是建出失配树然后......
  • 问题解决系列:证书续签的时候,nginx重启报错
    一、问题场景进行​​let'sencrypt​​​证书续签之后,​​nginx​​重启报错,提示如下:[MonFeb2010:23:40CST2023]Runreloadcmd:/bin/systemctlrestartnginxJobf......
  • abc290F 题解
    吸收恒等式、范德蒙德卷积。为什么我能切黄题的场我都没打啊/ll先考虑确定度数数组时怎么做。显然\(\sumx_i=2n-2\)。手玩一下发现答案是\(\sum[x_i>1]+1\)......
  • 【题解】P5644 [PKUWC2018]猎人杀
    供题人是树剖姐姐喵/se思路生成函数+子集反演+分治NTT.首先发现当前打中的猎人倒下之后,后面的猎人被射中的概率会随之变化,也就是说操作是有后效性的,不好处理。有......
  • 扫雷游戏
    扫雷大家或许都不陌生,在我小的时候,我爸的win7电脑上就自带扫雷,但是那个时候的我都不知道游戏规则是什么,因为随便点就被炸死了,所以很快就不感兴趣了。而现在我们就来用C语言......
  • LuoguP5354 [Ynoi2017]由乃的OJ题解
    P5354[Ynoi2017]由乃的OJPreface自己的由乃题一血,写篇题解纪念一下。Description给定一颗\(n\)个结点的树,每个结点都有一个权值\(a_i\)和一个位运算符\(\mathrm{......