Master-Mind Hints

UVA - 340

题目传送门

题目大意:先输入一个整数n,表示有n个数字,下面第一行代表正确答案,其下每一行代表用户猜的答案,需统计其有多少数字位置正确(A),有多少数字在两个字符串中都出现过但位置不正确(B),输入一全为0结束。

AC代码:

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <map>
#include <stack>
#include <queue>
#include <vector>
#include <bitset>
#include <set>
#include <utility>
using namespace std;
typedef long long ll;
#define inf 0x3f3f3f3f
#define rep(i,l,r) for(int i=l;i<=r;i++)
#define lep(i,l,r) for(int i=l;i>=r;i--)
#define ms(arr) memset(arr,0,sizeof(arr))
//priority_queue<int,vector<int> ,greater<int> >q;
const int maxn = (int)1e5 + 5;
const ll mod = 1e9+7;
int arr[maxn];
int num[15];
int num1[15];
int arr1[maxn];
int main()
{freopen("in.txt", "r", stdin);freopen("out.txt", "w", stdout);int n;int cnt=0;while(scanf("%d",&n)!=EOF&&n){cnt++;ms(arr);ms(vis);ms(num);printf("Game %d:\n",cnt);rep(i,1,n) {scanf("%d",&arr[i]);num[arr[i]]++;    //记录每个数字出现了多少次}while(1){memcpy(num1,num,sizeof(num));     //将其复制到num1中以便使用int A=0,B=0;int sum=0;rep(i,1,n) {scanf("%d",&arr1[i]);sum+=arr1[i];     //判断全为0时结束if(arr1[i]==arr[i]){A++;      //位置正确则A++num1[arr1[i]]--;   //有一个位置正确就证明不正确的少了一个}}rep(i,1,n) {if(arr1[i]!=arr[i]&&num1[arr1[i]]>0)    //位置不正确且又在原数组中出现过{B++;num1[arr1[i]]--;}}if(sum==0)break;printf("    (%d,%d)\n",A,B);}}return 0;
}

UVA340 ​​​​​​​Master-Mind Hints【数组】相关推荐

  1. Gym 101775J Straight Master(差分数组)题解

    题意:给你n个高度,再给你1~n每种高度的数量,已知高度连续的3~5个能消去,问你所给的情况能否全部消去:例:n = 4,给出序列1 2 2 1表示高度1的1个,高度2的2个,高度3的2个,高度4的1 ...

  2. 当罗密欧遇到朱丽叶... ...当指针遇到数组

    题目是扯淡. 无视 他们说, 题目要长长长长.... 当罗密欧遇到朱丽叶的时候, 看官们都非常happy... 古典唯美悲情爱情嘛~ 然而捏. 数组遇到指针的时候, 我就差点panic了... 这里特 ...

  3. Competitive Programming 3题解

    题目一览: Competitive Programming 3: The New Lower Bound of Programming Contests(1) Competitive Programm ...

  4. AOAPC I: Beginning Algorithm Contests 题解

    AOAPC I: Beginning Algorithm Contests 题解 AOAPC I: Beginning Algorithm Contests (Rujia Liu) - Virtual ...

  5. ICPC程序设计题解书籍系列之一:刘汝佳:《算法竞赛入门经典》(第2版)

    题是书中的题,部分解法参照了书中的解法,不少解法都做了简化和改进. 做程序,就要努力做到自己的程序是最好的! 第3章 数组和字符串(例题) POJ1488 UVA272 UVALive5381 TEX ...

  6. Spring Boot 3.0.0-M1 Reference Documentation(Spring Boot中文参考文档)-附录A-C

    附录 附录A:常用的应用程序属性 多种属性可以指定到application.properties文件,application.yml文件内,或者作为命令行开关.这个附录提供常用的Spring Boot ...

  7. 《算法竞赛入门经典(第2版)》——学习记录

    前言:   这里主要记录本人在学习紫书过程中充分理解过的题目的AC代码,便于以后回顾时查找代码和思路,毕竟看别人的真的有点难懂.此外,本书甚至是本书之外的相关知识学习也可能在此留下记录.   作为一只 ...

  8. Spring Boot 如何自定义Starter,你知道吗?

    原文:https://shimo.im/docs/ywxu41XEYxYXYy3U/read 如果我们系统中想要拥有自动配置的功能,可以自己编写一个starter (启动器),想想就觉得很酷,因为这意 ...

  9. yii连接mysql主从_Connection 数据库主从连接源码剖析

    连接总体流程 随机打乱从库配置(master可以选择是否打乱,slave一定会打乱:如果master没有配置数组则直接使用$dsn和$username作为master的配置,也就是一主) 遍历配置如果 ...

  10. ACM题解系列之一:刘汝佳:《算法竞赛入门经典》(第2版)

    题是书中的题,解法参照了书中的解法,不少解法都做了简化和改进. 做程序,就要努力做到自己的程序是最好的! 第3章例题 POJ1488 UVA272 UVALive5381 TEX Quote[输入输出 ...

最新文章

  1. 每日一皮:是金子无论到哪里、哪怕变个形状都会发光..
  2. MongoDB学习2——Windows 使用mongo连接数据库
  3. android8支持设备,Android8.0奥利奥支持机型有哪些 安卓8.0奥利奥适合设备详细介绍...
  4. IDEA中引入和启动TOMCAT的本质
  5. gui设置可编辑文本框的回调函数_用Tkinter制作Python程序的图形用户界面(GUI),打包后比Qt5减少60M(77.5%)(实例63)...
  6. MySQL 8.0 异步复制的三种方式
  7. Django配置文件常用信息
  8. 桑基图 python_手把手教你用 Python 绘制酷炫的桑基图!
  9. 交换机芯片笔记1.1
  10. java高校贫困生助学贷款系统ssm框架
  11. 初中计算机教案ps,初中信息技术《认识Photoshop CS2的工作界面》教案
  12. 用Python实现模糊聚类(传递闭包法)
  13. 冯诺依曼计算机设备,科学网—计算机学习漫谈(10)——一台冯·诺依曼机器 - 陈钊的博文...
  14. 干货 | Elasticsearch 检索类型选型指南
  15. QCC512x QCC302x 延时函数 (阻塞与非阻塞)
  16. CRM-客户关系管理(Customer Relationship Management)
  17. 机器人专业需要学习那些理论知识
  18. Java数组-学习笔记
  19. 文件 组织 服务器 数据库,nc文件服务器 数据库文件
  20. 打造企业上云安全屏障,华为云擎天Enclave全方位守护敏感数据安全

热门文章

  1. android 机顶盒 view 焦点,AndroidTV/机顶盒 ListView获取焦点与点击事件问题处理方案...
  2. Qt关于Tcp通信步骤的总结
  3. BugkuCTF-MISC题好多数值
  4. BugkuCTF-PWN题pwn2-overflow超详细讲解
  5. 麦块不显示服务器,为什么开不了服务器啊!
  6. linux qt 读系统信息,使用Qt获取系统版本
  7. js判断ipad还是安卓_JS判断客户端是否是iOS或者Android
  8. 萧县机器人_全国总决赛第一名!萧县杨楼的这位学生厉害了
  9. ios传值给js_WKWebView JS与OC间相互传值调用
  10. java软件开发ea介绍_开发说明 — Eacloud 1.0 documentation