题解:CF685A Robbers' watch
题解:CF685A Robbers' watch
感觉这题难点主要在理解题意。
题意
一天 \(n\) 个小时,一小时 \(m\) 分钟,手表用 \(7\) 进制表示时间(位数未填满补前导零),求问这个手表显示的每一位数字都不一样的时刻数量。
分析
因为是 \(7\) 进制,所以每一个数字位只可能出现 \(0\sim 6\) 这 \(7\) 种数字,根据容斥原理,如果 \(n\) 和 \(m\) 的 \(7\) 进制位数之和大于 \(7\) 位了,那么就一定会有重复的数字,直接输出 \(0\)。
因为限制到位数和只能不超过 \(7\) 位,那么数据规模就很小了,可以直接暴力枚举 \(n\) 和 \(m\),枚举每个时刻,用 \(\text{check}\) 函数枚举一下 \(7\) 进制位有无重复即可。
代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m;
int xx,yy;
int vis[10];
bool check(int x,int y)
{
int a=x,b=y;
for(int i=0;i<=6;i++)
vis[i]=0;
for(int i=1;i<=xx;i++)
{
vis[a%7]++;
a/=7;
}
for(int i=1;i<=yy;i++)
{
vis[b%7]++;
b/=7;
}
for(int i=0;i<=6;i++)
if(vis[i]>=2)
return 0;
return 1;
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin>>n>>m;
if(n*m>6543210)
{
cout<<0<<endl;
return 0;
}
int nn=n,mm=m;
n--,m--;
while(n)
{
xx++;
n/=7;
}
while(m)
{
yy++;
m/=7;
}
xx=max(xx,1ll);
yy=max(yy,1ll);
// cout<<xx<<" "<<yy<<endl;
int ans=0;
for(int i=0;i<nn;i++)
for(int j=0;j<mm;j++)
if(check(i,j))
ans++;
cout<<ans<<endl;
return 0;
}
题解:CF685A Robbers' watch的更多相关文章
- UVA1616-Caravan Robbers(枚举)
Problem UVA1616-Caravan Robbers Accept: 160 Submit: 1156Time Limit: 3000 mSec Problem Description O ...
- UVA1616-Caravan Robbers(二分)
Problem UVA1616-Caravan Robbers Accept: 96 Submit: 946Time Limit: 3000 mSec Problem Description Lon ...
- Codeforces Round #359 (Div. 1) A. Robbers' watch 暴力
A. Robbers' watch 题目连接: http://www.codeforces.com/contest/685/problem/A Description Robbers, who att ...
- SCOJ 4484 The Graver Robbers' Chronicles 后缀自动机
4484: The Graver Robbers' Chronicles 题目连接: http://acm.scu.edu.cn/soj/problem.action?id=4484 Descript ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
随机推荐
- 9. 从0学ARM Cortex-A9 LED汇编、C语言驱动编写
0. 前言 一般我们购买一个开发板,厂家都会给出对应的电路图文件,我们可以通过搜索对应名称来查找到对应的外设.对于驱动工程师来说,我们只需要知道外设与SOC交互的一些数据线和信号线即可. 用主控芯片控 ...
- 动态规划专题--容斥原理--codeforces-285E Positions in Permutations
codeforces-285E \(Positions \ in \ Permutations\) $$codeforces$$ 题意 给定一个序列长度为 \(n\) 的序列 , \(A=\{1 \d ...
- Mac上HomeBrew安装及换源教程
Mac上HomeBrew安装及换源教程 Mac的Mac OS系统来源于Unix系统,得益于此Mac系统的使用类似于Linux,因此Linux系统中的包管理概念也适用于Mac,而HomeBrew便是其中 ...
- Kubernetes-14:持久化存储PV、PVC和StatefulSet介绍及使用
PV.PVC简介 PersistentVolume(PV) 是由管理员设置的存储,它是集群的一部分,就像节点是集群中的资源一样,PV也是集群中的资源.PV是Volume之类的卷插件,但具有独立于使用P ...
- 【面试题】Java中子类和父类静态代码块、非静态代码块、构造函数的执行顺序总结一览表
在面试的时候,有时候我们会被问到这样的问题:子类A继承父类B,A a = new A();则父类B的构造函数.父类B静态代码块.父类B非静态代码块.子类A构造函数.子类A静态代码块.子类A非静态代码块 ...
- 【ETL工具】DataX + DataXWeb 初使用过程记录
版本:DataX v202309 DataXWeb 2.1.3预发布版 DataX: Github:https://github.com/alibaba/DataX 功能介绍文档:https://g ...
- 一文了解JSON
目录 JSON 在JavaScript 中的使用. json 的定义 json 的访问 json 的两个常用方法 JSON 在 在 java 中的使用 javaBean 和 和 json 的互转 Li ...
- Openharmony 跑 CV 应用
最近有个项目,老同学让帮忙验证一个在ARM 板上跑 OpenHarmony,然后再集成一个CV算法上去,写这个文章主要是整理一下思路.如果有思路不对的地方,也烦请指出. 1. 个人做纯软件比较多,所以 ...
- JS插入排序完全理解
插入排序是JS中的一种常见数组排序算法,记录一下如何理解并实现插入排序的功能; 首先看一下最直观的动态图 图片来源:https://www.javascriptc.com/ 从图像可以很直观的看出,插 ...
- Google Maps Embed API & JavaScript API
前言 很多年前写过一篇 Google Map 谷歌地图, 这篇算是翻新版本. Google Map Registration Google Maps Platform 是整个 Google Map 的 ...