题解: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 ...
随机推荐
- LVM逻辑卷创建
创建步骤 1.创建分区 2.创建PV 3.创建VG 4.创建LV 5.格式化及挂载 创建分区 使用分区工具(如fdisk等)创建LVM分区. 创建PV $ pvcreate /dev/sdb5 #将每 ...
- Game on Sum--组合数学--DP
\(Codeforces-Round 767\) (Div. 2) F2. \(Game \ on \ Sum\) \(HERE\) 题意 \(QZS\) 和 \(HANGRY\) 玩游戏. 游戏共有 ...
- 2024DASCTF
DASCTF prese 一眼控制了平坦化,可以用d810梭一下 跟进一下main_crypto这个函数 主要是两部分,第一部分是生成一个256大小的数组,通过输入的长度和遍历生成的一个数组 第二部分 ...
- Java并发之原子变量及CAS算法-下篇
Java并发之原子变量及CAS算法-下篇 概述 本文主要讲在Java并发编程的时候,如果保证变量的原子性,在JDK提供的类中是怎么保证变量原子性的呢?.对应Java中的包是:java.util.con ...
- Navicat 15 for MySQL 破解教程
Navicat 15 for MySQL安装包和注册机下载: 安装包:https://kohler.lanzouh.com/irtcd05za1zc 注册机:https://kohler.lanzou ...
- .NET 8.0 前后分离快速开发框架
前言 大家好,推荐一个.NET 8.0 为核心,结合前端 Vue 框架,实现了前后端完全分离的设计理念.它不仅提供了强大的基础功能支持,如权限管理.代码生成器等,还通过采用主流技术和最佳实践,显著降低 ...
- P9032 [COCI2022-2023#1] Neboderi
题意 给长度为 \(n\) 的数组 \(a\),求长度不小于 \(k\) 的区间 \([l,r]\) 使得 \(\gcd_{i = l}^r a_i \times \sum_{i = l}^r a_i ...
- Docker镜像源地址
Docker镜像源地址(1)官方镜像:https://registry.docker-cn.com(2)网易镜像:http://hub-mirror.c.163.com(3)清华大学:https:// ...
- DOM – Work with Document.styleSheets and JS/Scss Breakpoint Media Query
前言 为了方便管理, 我们会定义 CSS Variables, 类似于全局变量. 有时候做特效的时候还需要 JavaScript 配合, 这时就会希望 JavaScript 可以获取到 CSC Var ...
- ASP.NET Core – View Component
前言 以前写过 Asp.net core 学习笔记 ( ViewComponent 组件 ), 这篇作为翻新版. 参考 Docs – View components in ASP.NET Core D ...