C - 猜数字

CTF 文章目录CTF一、十进制转36进制做题步骤二、a1z26做题步骤三、4进制做题步骤总结 CTF 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、十进制转36进制 做题步骤 要先导入base36的数据包,否则无法运行。 代码: import base36 num=597142166468670232704404065453992639482284357949191. 阅读详情

C - 猜数字

链接:https://vjudge.net/contest/417635#problem/C

猜数字游戏是gameboy最喜欢的游戏之一。游戏的规则是这样的:计算机随机产生一个四位数,然后玩家猜这个四位数是什么。每猜一个数,计算机都会告诉玩家猜对几个数字,其中有几个数字在正确的位置上。
比如计算机随机产生的数字为1122。如果玩家猜1234,因为1,2这两个数字同时存在于这两个数中,而且1在这两个数中的位置是相同的,所以计算机会告诉玩家猜对了2个数字,其中一个在正确的位置。如果玩家猜1111,那么计算机会告诉他猜对2个数字,有2个在正确的位置。
现在给你一段gameboy与计算机的对话过程,你的任务是根据这段对话确定这个四位数是什么。

Input

输入数据有多组。每组的第一行为一个正整数N(1<=N<=100),表示在这段对话中共有N次问答。在接下来的N行中,每行三个整数A,B,C。gameboy猜这个四位数为A,然后计算机回答猜对了B个数字,其中C个在正确的位置上。当N=0时,输入数据结束。

Output

每组输入数据对应一行输出。如果根据这段对话能确定这个四位数,则输出这个四位数,若不能,则输出"Not sure"。

Sample Input

6
4815 2 1
5716 1 0
7842 1 0
4901 0 0
8585 3 3
8555 3 2
2
4815 0 0
2999 3 3
0

Sample Output

3585
Not sure

正确代码:

#include<iostream>
#include<stdio.h>
using namespace std;
int n;
struct shuzi{
	int a,b,c;
};

int panduan(int a,int b,int c,int d,shuzi s[]){
	int q,w,e,r;
	int ans=0;
	int p=0;
	for(int i=0;i<n;i++){
		int m1[10],m2[10];
		for(int i=0;i<=9;i++){
			m1[i]=0;
			m2[i]=0;
		}
		ans=0;p=0;
		r=s[i].a%10;
		e=s[i].a/10%10;
		w=s[i].a/100%10;
		q=s[i].a/1000;
		m1[a]++;
		m1[b]++;
		m1[c]++;
		m1[d]++;
		m2[q]++;
		m2[w]++;
		m2[e]++;
		m2[r]++;
		if(q==a){
			p++;
		}
		if(w==b){
			p++;
		}
		if(e==c){
			p++;
		}
		if(r==d){
			p++;
		}
		for(int i=0;i<=9;i++){
			/*if(a==3&&b==5&&c==8&&d==5){
				cout<<i<<" "<<m1[i]<<" "<<m2[i]<<endl;
			}*/
			if(m2[i]&&m1[i]){
				int k=min(m2[i],m1[i]);
				//if(a==3&&b==5&&c==8&&d==5) cout<<i<<" "<<endl;
				ans+=k;
			}
		}
		/*if(a==3&&b==5&&c==8&&d==5){
			cout<<q<<w<<e<<r<<endl;	
			cout<<s[i].a<<" "<<s[i].b<<" "<<s[i].c<<endl;
			cout<<a<<b<<c<<d<<" "<<ans<<" "<<p<<endl;	
		}*/
		
		if(ans!=s[i].b||p!=s[i].c){
			return 0;
		}
	}
	return 1;
}
int main(){
	while(cin>>n&&n){
		shuzi s[n+5];
		int f=0,ans=0;
		for(int i=0;i<n;i++){
			cin>>s[i].a>>s[i].b>>s[i].c;
		}
		for(int a=0;a<=9;a++){
			for(int b=0;b<=9;b++){
				for(int c=0;c<=9;c++){
					for(int d=0;d<=9;d++){
						if(panduan(a,b,c,d,s)){
							ans++;
							f=a*1000+b*100+c*10+d;
						}
					}	
				}
			}	
		}
		if(ans==1){
			cout<<f<<endl; 
		}
		else{
			cout<<"Not sure"<<endl; 
		}
	} 
	return 0;
} 
ResNet改进(7):添加 SK注意力机制 实现 SK 注意力机制。 阅读详情

相关推荐

Xilinx FPGA 100G RDMA开发实战:基于AXI Lite配置的ROCE V2高速通信系统搭建

本文详细介绍了在Xilinx FPGA上搭建100G ROCE V2高速通信系统的实战过程。通过分析RDMA技术优势与FPGA实现的必要性,重点阐述了基于AXI Lite接口配置ERNIC IP核的关键步骤,包括硬件系统构建、驱动开发及与商用网卡的互通测试,旨在实现兼具高性能与灵活性的网络加速方案。

js777的博客 576

HDU 1172.猜数字【思路转换,思维练习】【枚举】【8月8】

猜数字 Problem Description 猜数字游戏是gameboy最喜欢的游戏之一。游戏的规则是这样的:计算机随机产生一个四位数,然后玩家猜这个四位数是什么。每猜一个数,计算机都会告诉玩家猜对几个数字,其中有几个数字在正确的位置上。 比如计算机随机产生的数字为1122。如果玩家猜1234,因为1,2这两个数字同时存在于这两个数中,而且1在这两个数中的位置是相同的,所以计算

Mr丶Gao 1126

HHD Device Monitoring Studio:破解版在串口调试中的实战应用

本文详细介绍了HHD Device Monitoring Studio破解版在串口调试中的实战应用,包括安装指南、串口监控功能解析、Modbus RTU协议分析案例以及自定义协议解析技巧。通过具体操作步骤和性能优化建议,帮助开发者高效完成端口监控和调试任务,提升工作效率。

weixin_29268331的博客 940

【4】简单的代码实现

1.完成猜数字游戏。 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<time.h> void menu() { printf("**************************\n"); printf("********* 1.PALY ****...

weixin_43741616的博客 391

瑞萨MCU定时器API实战:从Smart Configurator配置到中断与输入捕获应用

在嵌入式系统开发中,定时器(Timer)是实现精准时序控制、PWM输出和信号测量的核心硬件外设。其工作原理基于计数器在稳定时钟源驱动下递增或递减,达到预设值后触发中断或改变输出电平,从而为系统提供节拍和事件基准。通过图形化配置工具(如瑞萨的Smart Configurator),开发者可以高效地将复杂的硬件寄存器操作转化为清晰、标准化的C语言API函数,这极大地提升了开发效率并降低了出错风险。这种从硬件抽象到软件接口的技术价值在于,它使得开发者能更专注于应用逻辑,而非底层细节,尤其适用于工业控制、汽车电子等

weixin_42519733的博客 274

图片边界矢量化-地理配准

无地理和投影信息的JPG图片,通过ArcGIS进行地理配准(Georeferencing)完成数字化边界。

u012727861的博客 1905

猜数字

题目描述:   游戏的规则如下:计算机随机产生一个4位数,然后玩家猜这个4位数是什么。每猜一个数,计算机都会告诉玩家猜对几个数字,其中有几个数字在正确位置上。   输入数据有多组。每组的第一行为一个正整数N(1≤N≤100),表示在这段对话中共有N次回答。在接下来的N行中,每行三个整数A、B、C。gameboy猜这个4位数为A,然后计算机回答猜对了B个数字,其中C个在正确的位置上。当N=0时,则输...

Iversonx的博客 1217

火山引擎实时对话AI实战:5分钟搞定WebRTC+大模型+ASR/TTS全链路集成

本文详细介绍了如何利用火山引擎的实时对话AI解决方案,快速集成WebRTC、大模型、ASR和TTS服务,构建低延迟、高保真的实时语音对话应用。通过实战代码示例,从环境准备、音频流管理到全链路串联与性能优化,为开发者提供了一套端到端的集成指南,适用于智能客服、在线教育等互动场景。

weixin_29051245的博客 1128

ACM HDU 1172 猜数字 (枚举法)

猜数字 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 852    Accepted Submission(s): 481 Problem Description 猜数字游戏是gameboy最喜欢的游戏之一。游戏的规则是这样的:...

weixin_33875839的博客 802

【声纳技术】声呐时间反转镜技术:从被动聚焦到主动空间复用

时间反转镜技术以其独特的物理机制,为水声通信与声呐探测提供了一条绕过传统自适应均衡器的新路径。被动时间反转利用接收端的空间分集实现脉冲压缩,结构简洁、计算高效;主动时间反转则通过发射端预编码,将多径能量引导至目标位置,为多用户下行链路的空间复用奠定了物理基础。从Kuperman等人在海洋中首次验证声学时间反转镜,到TR-MIMO声呐的湖试验证,再到VTRM-CRK多用户通信系统的海试成功,该技术已从理论概念逐步走向工程实用。

u012133341的博客 55

vs2017配置liblas库+测试代码

之前已经配置好pcl(vs2017配置pcl),可以单独配置liblas,也可以在原有pcl属性表的基础上继续配置

孙悟空 4023

C语言——猜数字游戏

用C语言写一个简单的猜数字游戏

卷成小麻花的博客 2万+

SEATA安装使用

springcloudalibaba集成seata分布式事务、seata持久化

原名又逢乱世。不要放下学习的脚步,毕竟比天天打牌、钓鱼、打游戏更能从内在充实自己。 2369

C语言实现猜数字游戏

目录 前言 一、猜数字游戏 内容: 方法: 代码实现: 二、生成随机数的方法 总结 前言 C生万物,想要学好编程,就要多敲代码。对于C中小白来说,学习了控制语句之后(顺序、选择和循环),写一个小游戏来练手还是很有必要的。 一、猜数字游戏 内容: 顾名思义,猜数字游戏就是让系统随机生成一个数字,由玩家来猜,之后系统反馈信息,猜大了还是猜小了,逐一减少默认数字的范围之后,最终锁定目标。 方法: 1、生成游戏菜单 1. play(进入游戏) 0. exit (退出游戏) 2、使用循环语句,构建游戏框架,使

qq_49613557的博客 2万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【C语言】猜数字游戏

前面学习的这些知识,我们就可以写一些稍微有趣的代码了,这里就来写一个猜数字游戏。电脑自动生成1~100的随机数玩家猜数字,猜数字的过程中,根据猜测数据的大小给出大了或小了的反馈,直到猜对,游戏结束。

zxctsclrjjjcph的博客 1384

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【C语言小游戏】猜数字游戏

猜数字小游戏的7000字超详细讲解

青色_忘川的博客 5754

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

猜数字游戏——C语言实现

在学习后选择和循环结构后,我们就可以根据现有的知识编写一些简单有趣的代码了。下面介绍一种简单又好玩的猜数字游戏,希望大家在游戏中体会到编程的快乐!电脑自动生成1~100的随机数。玩家猜数字,如果猜大了,则提示“猜大了!”,如果猜小了,则提示“猜小了!”,如果猜对了,则提示“恭喜你,猜对了!今天我们学习了选择与循环结构的简单应用,实现了简单又好玩的猜数字游戏。快去和你的小伙伴们玩起来吧!(关注博主不迷路哦!

2301_79905949的博客 3026

用c语言实现猜数字游戏

文章目录 前言 一、预期实现猜数字游戏的功能 二、 1.引入库 2.读入数据 总结 前言 对于c语言初学者来说用c语言实现猜数字游戏是基本的问题,本篇文章会细致的讲解如何用代码来实现猜数字游戏。希望读者在阅读本篇博客前学习玩分支与循环和最基本的c语言语法知识。 提示:以下是本篇文章正文内容,下面案例可供参考 一、预期实现猜数字游戏的功能 1:什么是猜数字游戏 猜数字游戏顾名思义是电脑随机生成一个数字,让玩家来猜。如果没猜对,电脑会提示玩家猜大了还是猜小了,玩家可以多...

ai15013602354的博客 1万+

C语言—猜数字游戏

学了分支和循环语句,我们可以尝试用这些知识来写一个简单的小游戏了!大家在生活中有没有和朋友玩过猜数字的游戏?给定一个猜数字范围1~100(可以改变),一个人出数字,另一个人猜,猜的人每次猜数字,另一个人根据数字大小给出猜大了或者猜小了的反馈,直至猜对,游戏结束。了解游戏规则后相信大部分人一定与身边的好友玩过,没有玩过也没有关系,今天我们将用C语言写一个这样简单有趣的小游戏,可以与电脑先玩一次!

2302_80453405的博客 2463

基于C语言的猜数字游戏

通过写一个小游戏来加深对分支和循环的理解和使用熟练度

2301_82302966的博客 1471

用C语言实现猜数字游戏

接下来我将带领大家用C语言实现简单的猜数字游戏,并一步一步实现和排错,希望能帮助到大家 首先我们先确定一下猜数字游戏都有哪些功能 电脑随机生成一个数字 玩家猜数字 玩家猜小了,就告知猜小了 玩家猜大了,就告知猜大了 直到猜对为止 游戏可以一直玩 1、实现主函数和菜单函数 玩家选1开始游戏、选0结束游戏、其他重新选择 void menu() { printf("**********************\n"); printf("*********1....

威威的博客 5687

c语言实现猜数字游戏

tip:这里要注意的是srand的参数必须是无符号数 所以必须要传入一个(unsigned int)进行一个类型强转。要调用rand()必须要用srand()里传入一个无符号的不断变化的数字。我们规定随机值在1~100之间 包含1~100。3 玩家猜的数字和上面随机生成的数字比较大小。而时间是在不断变化的 所以就有了以上代码。1 完成猜数字游戏 首先要有一个随机值。实现第四步使用一个while循环即可。rand()是产生随机数的函数。2 之后要让玩家猜一个数字。产生1~100的随机数。

小萌新的博客 7736

C语言——实现简单的猜数字游戏

通过C语言实现猜数字游戏。

qq_64034271的博客 5145

C语言—猜数字游戏的实现

用C语言实现一个简单的猜数字游戏

Crocodile1006的博客 1924

C语言猜数字游戏

猜数字游戏是C语言入门的经典案例——它覆盖了循环控制、条件判断、随机数生成等核心语法,还能通过细节设计让程序从“能跑”变成“好用”。这篇文章会从需求分析到代码落地,逐行拆解逻辑,甚至补上新手容易踩的坑,带你实现一款体验完整的猜数字游戏。

2501_91052695的博客 694

浅谈用C语言实现猜数字游戏

最近学习了一个比较有趣的题目,感觉是能全面的考核到现阶段自我学习情况的一个代码,接下来想和大家分享探讨以下。 题目是:电脑随机生成一个1~100之间的数字,然后玩家开始猜数字,如果猜小了,电脑会告诉你猜小了,反之会告诉你猜大了,猜对了的话,电脑也会告诉你恭喜你,猜对了。 那么这个游戏如果玩家觉得玩一把觉得不够过瘾,这个游戏可以不退出,重新来玩,那么我们可以给他做一个菜单,设计程序选择1则继续游戏,选择0就退出游戏。下图先简单的实现一下这个逻辑。 这里选择不常用的do whil...

sinat_58249665的博客 1218
上一篇: 杭电——Problem F
下一篇: 7-8 统计一行文本的单词个数
START_GAME
博客等级 码龄7年 106粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值