三连击(NOIP1998)
题目链接:三连击
典型的打表题,但cgg今天不是教你怎么打表的,而是教你正解。
这题方法多样,比如递归求解也行,反正数据也不大。
在这里我提供另一种思路,我们枚举第一个数,即最小的一个数,然后分解它以及它的两倍,它的三倍的数位,然后判断是否又相同的数位,还要注意判断是否又0的存在(题目是不允许的,但这样的数却存在)。下面给出代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int vis[11],num[11]; //1
for(int i=123;i<=329;i++){ //2
memset(vis,0,sizeof(vis)); //3
num[1]=i%10;
num[2]=i/10%10;
num[3]=i/10/10%10;
num[4]=2*i%10;
num[5]=2*i/10%10;
num[6]=2*i/10/10%10;
num[7]=3*i%10;
num[8]=3*i/10%10;
num[9]=3*i/10/10%10;
int ok=1; //4
for(int j=1;j<=9;j++){
if(vis[num[j]]==0&&num[j]!=0){ //5
vis[num[j]]=1;
}else{
ok=0;
break;
}
}
if(ok){
printf("%d %d %d\n",i,2*i,3*i);
}
}
return 0;
}
还是提5处,
1处:vis统计数位有没有用过,num保存每一个数
2处:由于位数不想重,所以最小为123,又因为i*3<=987,所以i枚举到329就行
3处:每一轮判断前要把vis清零
4处:设置标识符
5处:注意判断是不是数字0
三连击(NOIP1998)的更多相关文章
- C++算法代码——三连击[NOIP1998 普及组]
题目来自:https://www.luogu.com.cn/problem/P1008 题目背景 本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序. 题目 ...
- 【NOIP1998】 三连击 题解
文章转载前需和原作者联系,否则追究法律责任 题目链接:https://www.luogu.com.cn/problem/P1008 首先我们来分析一下题目.要求是枚举三个数,比例为1:2:3,且各个数 ...
- C#基础练习(时间的三连击)
Form1的后台代码: namespace _07事件的三连击 { public partial class Form1 : Form { public Form1() ...
- Cocos2D-X2.2.3学习笔记8(处理精灵单击、双击和三连击事件)
我们依据上一次介绍的触屏事件和事件队列等知识来实现触屏的单击,双击,三连击事件. 下图为我们实现的效果图: 单击精灵跳跃一个高度, 双击精灵跳跃的高度比单击的高 三连击精灵跳跃的跟高 好了,開始动手吧 ...
- [Unity3D]Unity3D游戏开发之ACT游戏三连击效果实现综述
各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei.在研究了Unity3D Mecanim动画系统的重定向特性后,今天我们继续来探索Me ...
- 最大整数(Noip1998连接多位数)
最大整数(Noip1998连接多位数)[问题描述] 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:343312 ...
- 洛谷——P1618 三连击(升级版)
P1618 三连击(升级版) 题目描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:C,试求出所有满足条件的三个三位数,若无解,输出“No!!!”. //感谢 ...
- Unity2D实现人物三连击
之前写过一个系列<HTML5 2D平台游戏开发>,在此过程中发现有很多知识点没有掌握,而且用纯JavaScript来开发一个游戏效率极低,因为调试与地图编辑都没有可视化的工具,开发起来费时 ...
- 洛谷 P1618 三连击(升级版)【DFS/next_permutation()/技巧性枚举/sprintf】
[链接]:https://www.luogu.org/problemnew/show/P1618 题目描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:C,试 ...
随机推荐
- IDEA中配置Maven+spring MVC+tomcat
一:配置Maven安装教程如下: http://blog.csdn.net/qq_32588349/article/details/51461182 实际安装过程中,如果按照教程配置如下属性,最后创建 ...
- serv-U使用
该软件是设置ftp服务器的 可以百度查询ftp服务器安装攻略,如 https://jingyan.baidu.com/article/cb5d6105c00bba005c2fe0ca.html 问题: ...
- pta7-19打印学生选课清单(模拟)
题目链接:https://pintia.cn/problem-sets/1101307589335527424/problems/1101314114875633664 题意:输入n个学生,k門课程, ...
- Websocket实现群聊、单聊
Websocket 使用的第三方模块:gevent-websocket 群聊 ws群聊.py中的内容 from flask import Flask, request, render_template ...
- Shell教程 之函数
1.函数定义 shell中函数的定义格式如下: [ function ] funname [()] { action; [return int;] } 说明: 可以带function fun() 定义 ...
- unity中Camera.ScreenToWorldPoint
Camera.ScreenToWorldPointVector3 ScreenToWorldPoint(Vector3 position); 将屏幕坐标转换为世界坐标. 如何转换?假如给定一个所谓的屏 ...
- VS unable to update auto-refresh path。。。。
手工创建提示报错的路径,重新生成,成功
- swift - 闭包 -定义和使用
方法一: 1.定义 typealias OpenOrderSuccessResultBlock = ( _ dataArray:[String])->Void 2.类方法实现属性 var bac ...
- ABAP中不修改内表参照的结构,给内表/结构体增加字段
Situation: DATA: itab TYPE STANDARD TABLE OF zsrsodtla_stru1, wa_itab TYPE zsrsodtla_str ...
- WorkerMan源码分析 - 实现最简单的原型
之前一直认为workerman源码理解起很复杂,这段时间花了3个下午研究,其实只要理解 php如何守护化进程.信号.多进程.libevent扩展使用,对于如何实现就比较轻松了. 相关代码都在githu ...