首页 > 其他分享 >题解:P11145 Strange Homura Game

题解:P11145 Strange Homura Game

时间:2024-10-14 19:11:32浏览次数:6  
标签:cout 题解 bmod long P11145 Game Strange Homura

Problem Link

Strange Homura Game

题意

让你猜测一个数 \(n\),你只能输出两次,每次输出一个数 \(x\),返回 \(x \bmod n\)。

Solution

令输入的数为 \(A,B\),输出的数为 \(a,b\),答案为 \(n\)。

一开始想的是 CRT,但只能询问 \(2\) 次。

发现输入的值是经过 \(\bmod n\) 的,已知 \((A-a) \bmod n == 0\),所以 \((A-a-1) \bmod n = n-1\)。

那就非常简单了,\(B = A-a-1,n=b+1\)。

Code

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
ll A = 100000000000000000, a, B, b, n;

int main()
{
    int _;
    cin >> _;
    while(_--)
    {
        cout << "? " << A << endl;
        cin >> a; B = A-a-1;
        cout << "? " << B << endl;
        cin >> b; n = b+1;
        cout << "! " << n << endl;
    }
    return 0;
}

Tips

记得开 long long

标签:cout,题解,bmod,long,P11145,Game,Strange,Homura
From: https://www.cnblogs.com/naughty-naught/p/18464803

相关文章

  • 题解:AT_joi2021ho_b 雪玉 (Snowball)
    ProblemLink[JOI2021Final]雪玉题目描述翻译很简洁,不作赘述。Solution对于相邻的两个雪球\(a_i\)和\(a_{i+1}\),两者夹着的区间中的雪要么是被\(a_i\)或\(a_{i+1}\)卷起,要么不可能被清理掉。那么思路非常简单了,对于每个区间,只有\(2\)种情况:区间左侧雪球的最......
  • 题解:P2315 [HNOI2005] 数三角形
    ProblemLink[HNOI2005]数三角形题意输入一个大三角形的各个边存在情况,输出里面有多少个正三角形。Solution简单暴力即可,用\(4\)个数组维护每条边能延伸的最大长度,然后逐个判断三角形是否可行即可。如图,l_upper维护左端点向上(即$\ell_{BA}$),l_lower维护左端点向下(即......
  • 题解:AT_arc120_c [ARC120C] Swaps 2
    ProblemLink[ARC120C]Swaps2\(-1\)的情况判错卡了\(10\)几分钟,麻了。题面翻译给出\(2\)个序列\(a\)和\(b\),定义一次操作为:选定一个下标\(i\),先将\(a_i\)以及\(a_{i+1}\)交换,然后让\(a_i\)加一,最后让\(a_{i+1}\)减一。求最少操作次数使得\(a\)序列等......
  • 题解:[HNOI2009] 双递增序列
    ProblemLink[HNOI2009]双递增序列题目描述给定一个长度为\(n\)的序列(\(n\)为偶数),求是否可以把序列分成\(2\)个长度为\(\frac{n}{2}\)的递增序列。Solution首先想到定义\(f_i\)为一个序列以\(a_i\)结尾时另一个序列末尾最小值。但这样定义状态信息是不够的,考虑......
  • qoj6562 First Last 题解
    妙妙题。首先不同字母数最多为\(3\)。我们把每一个字母看成一个点。对于每一个字符串,首个字母朝末尾字母连一条有向边。那么问题变为了给定一张有向图,从某个点出发,每次走一条边,且边不能重复,不能走的人输。问哪方有必胜策略。先不考虑时间复杂度,那么这个可以直接爆搜。但是肯定......
  • 题解:P11063 【MX-X4-T3】「Jason-1」数对变换
    ProblemLink【MX-X4-T3】「Jason-1」数对变换题外话场上把贪心注重在一个奇怪地方了,导致交的时候已经有\(9\)个人\(\textcolor{green}{AC}\)了(哭)。题意简述对于数对\((x,y)\),你可以执行以下两种变换:类型1:取\(1\lek\lex\),令\((x,y)\gets(\lfloor\frac{x}{k}......
  • 题解:P10370 「LAOI-4」Mex Tower (Hard ver.)
    ProblemLink「LAOI-4」MexTower(Hardver.)题意给定一个长度为$n$的序列$a$,求序列的$\operatorname{Mex}$值是否大于等于其他所有长度为$n$的自然数序列的$\operatorname{Mex}$值。Solution不难发现,两个数或一个序列的$\operatorname{Mex}$一定是......
  • 题解:擬二等辺三角形
    ProblemLink擬二等辺三角形题面翻译定义一个三角形为“伪等腰三角形”需满足以下三个条件:三边长度都为自然数。三边长度各不相同。有其中两条边的长度之差为\(1\)。现在给你一个数\(n\),求周长小于等于\(n\)的“伪等腰三角形”个数,答案对\(1000000007\)取模......
  • 题解:AT_abc370_c [ABC370C] Word Ladder
    题目传送门luogu观看简要题意给两个序列\(S\)和\(T\),输出的第一个数是它能改变的总个数,后面跟着的第\(i\)个是改变\(i\)个数之后,字典序最小的结果。思路当\(S\)与\(T\)相等的话,那就无法改变了,直接输出\(0\)。对于总数只要\(T_i\neS_i\)那它就可以改,所以只......
  • 题解:P1660 数位平方和
    ProblemLinkStep1:“定义\(S(n)\)表示\(n\)个的各个数位的\(k\)次方的和。”数位的\(k\)次方,我们可以通过快速幂求出,为了节省时间,我们可以定义一个\(a\)数组,来表示\(0\sim9\)区间中各数字\(k\)次方的值。然后我们通过定义一个\(s\)数组来存储\(0\sim4\times......