首页 > 其他分享 >A. Card Exchange.

A. Card Exchange.

时间:2024-04-28 22:23:59浏览次数:13  
标签:卡片 Exchange int MAX cin map1 Card

原题链接

题解

1.如果一开始没有 \(k\) 个相同的卡片,答案是 \(n\)
2.否则将按照如下步骤

  • 取 \(k\) 个相同卡片
  • 如果取出卡片后,没有剩余卡片了,随便放 \(k-1\) 个卡片进去,游戏结束
  • 否则把 \(k-1\) 个卡片全部变成剩余卡片中的一个,情况回到第一个步骤

code

#include<bits/stdc++.h>
using namespace std;
const int N=105;
int a[N];
int main(){
//	freopen("input.txt","r",stdin);
	int t;
	cin>>t;
	while (t--){
		int n,k;
		map<int ,int > map1;
		cin>>n>>k;
		int MAX=0;
		for (int i=1;i<=n;i++){
			int x;
			cin>>x;
			map1[x]++;
			if (map1[x]>MAX) MAX=map1[x];
		}
		if (MAX>=k) cout<<k-1<<endl;
		else cout<<n<<endl;
	}	
	return 0;
}

标签:卡片,Exchange,int,MAX,cin,map1,Card
From: https://www.cnblogs.com/pure4knowledge/p/18164619

相关文章

  • Rabbitmq系列02---Exchange
    个人理解:交换机的类型划分个人理解是能过routingkey来划分的,一是否按routingkey找队列;fanout就是不按routingkey找队列,Direct和Topicr按routingkey找队列,只是一个模糊找,一个精准找,而headers不按routingkey是按消头中的内容找队列。一、Fanout(订阅模式|广播模式)  Fanout......
  • JUC工具(Exchange)
    Exchanger(交换器),顾名思义,用于两个线程之间进行数据交换两个线程通过exchange()方法交换数据,如果第一个线程先执行exchange()方法,它会一直等待第二个线程也执行exchange方法,当两个线程都到达同步点时,这两个线程就可以交换数据API方法构造方法Exchanger():创建一个交换器......
  • 使用Spring HttpExchange替代FeignClient进行http远程服务调用
    背景springboot3.0使用的springframework6.0里有一个全新的http服务调用注解@HttpExchange,该注解的用途是可以进行申明式http远程服务调用。与Feign作用相同,在springboot3.x里,由于本身spring内置,相比Feign可以大幅减少第三方包依赖,且比Feign进轻巧。依赖:@HttpExchange位......
  • Two Sided Cards 题解
    前言五一网课的例题,但是网上没有详细的题解(真的连题解都找不到啊),所以来写一篇,就当攒RP了。题目可以在这里提交。原题是TopCoder-10947,但是有了账号也交不了?题目简述有\(n\)张卡片,正面和反面分别组成了\(1\simn\)的排列。现在你需要将这\(n\)张卡片排成一排。卡片......
  • ABC 287 B - Postal Card
    题目链接:由于是可以和\(T\)的多个字符串相同而仅计数一次,考虑把\(T\)中的字符串用\(\rmset\)存储已达到去重的目的。注:\(\rmset\)的\(\rmcount\)返回\(1\)表示找到了该元素,返回\(0\)则说明没找到。#include<bits/stdc++.h>usingi64=longlong;intmain......
  • D. Card Game
    链接:https://www.luogu.com.cn/problem/CF1932Dhttps://codeforces.com/problemset/problem/1932/D总的来说,就是把每副牌分开存储,然后如果长度是奇数,那么就从万能牌中拿过来一张;如果是偶数就不需要判断是否是impossible?每组对2求余之后加起来,如果比万能牌长度长就impossible......
  • [ARC061F] Card Game for Three
    题意有\(3\)个人。每个人分别有\(n1,n2,n3\)张牌。每张牌上有一个名字,分别表示三个人。对于每个回合,进行如下操作:若当前回合的玩家手上没有牌了,则该玩家获胜。否则从手牌中取出一张牌,丢弃她,并进入该牌上的名字的玩家的回合。求第一名玩家获胜的牌的分配方案数。Sol......
  • CARDIAC:纸板计算教学辅助工具
    今天搜python实现模拟cpu的时候看到了这个https://www.cs.drexel.edu/~bls96/museum/cardiac.htmlkimi辅助总结文章目录CARDIAC:CARDboardIllustrativeAidtoComputation背景CARDIAC组件指令集指令编程技术子程序自举启动(Bootstrapping)CARDIAC模拟器程序示......
  • PHP代码审计——Day 5-postcard
    漏洞解析classMailer{privatefunctionsanitize($email){if(!filter_var($email,FILTER_VALIDATE_EMAIL)){return'';}returnescapeshellarg($email);}publicfunctionsend($data){if(!isset($data['to'])......
  • Card Game
    这道题目肯定是想办法尽量全部都取正数,所以可以发现如下结论:从第三张牌开始后的正数牌(包括第三张牌)都可以取到至于为什么,可以看官方题解的证明(当然官方题解的做法的正确性我是有一点怀疑的,但是证明确实可以用在证明上述结论上)于是我们考虑\(a_1\)和\(a_2\)如果两者都为正,那就全......