Good Bye 2019 D. Strange Device

题目来源:http://codeforces.com/contest/1270/problem/D

交互题目记录一下,完全没有什么感觉.....,输入输出颠倒一下。

题意:每次给了k个不同的位置,找到第m大的数,让你输入这个数的下标以及数值,找到这个m是多少就行。

分析几个实列,排序好后发现第m+1大的数出现m次,第m大的出现k-m次,发现直接找最大的记录数即可。样例也有明显的暗示。得按i,j特殊的排序检验方式。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    map<int,int>hh;
    int n,k,i,j;
    cin>>n>>k;
    for(i=1;i<=k+1;i++)
    {
        printf("? ");
        for(j=1;j<=k+1;j++)
        {
            if(i==j)
                continue;
            else{
                printf("%d ",j);
            }
        }         printf("\n");
        int x1,x2;
        cin>>x1>>x2;
        hh[x2]++;
        cout.flush();
    }
    printf("! %d",hh.rbegin()->second);
    return 0;
}
发布了56 篇原创文章 · 获赞 17 · 访问量 2316

猜你喜欢

转载自blog.csdn.net/weixin_43958964/article/details/103802189
今日推荐