【模拟】XMU 1055 数七

题目链接:

  http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1055

题目大意

  报数游戏,不能报7的倍数和2进制下含有111的数。

  给定n,m(1<=n,m<=20)表示起始位和总人数。报到255为止。能报输出二进制,否则"pass"。

题目思路:

  【模拟】

  暴力模拟即可。十进制转二进制。

 1 //
 2 //by coolxxx
 3 //
 4 #include<iostream>
 5 #include<algorithm>
 6 #include<string>
 7 #include<iomanip>
 8 #include<memory.h>
 9 #include<time.h>
10 #include<stdio.h>
11 #include<stdlib.h>
12 #include<string.h>
13 //#include<stdbool.h>
14 #include<math.h>
15 #define min(a,b) ((a)<(b)?(a):(b))
16 #define max(a,b) ((a)>(b)?(a):(b))
17 #define abs(a) ((a)>0?(a):(-(a)))
18 #define lowbit(a) (a&(-a))
19 #define sqr(a) ((a)*(a))
20 #define swap(a,b) ((a)^=(b),(b)^=(a),(a)^=(b))
21 #define eps (1e-8)
22 #define J 10000000
23 #define MAX 0x7f7f7f7f
24 #define PI 3.1415926535897
25 #define N 256
26 using namespace std;
27 typedef long long LL;
28 int cas,cass;
29 int n,m,lll,ans;
30 string ss;
31 void change(int x)
32 {
33     ss="";
34     while(x)
35     {
36         if(x&1)ss="1"+ss;
37         else ss="0"+ss;
38         x>>=1;
39     }
40 }
41 int main()
42 {
43     #ifndef ONLINE_JUDGE
44 //    freopen("1.txt","r",stdin);
45 //    freopen("2.txt","w",stdout);
46     #endif
47     int i,j,k;
48 //    for(scanf("%d",&cas);cas;cas--)
49 //    for(scanf("%d",&cas),cass=1;cass<=cas;cass++)
50 //    while(~scanf("%s",s))
51     while(~scanf("%d",&n))
52     {
53         scanf("%d",&m);
54         for(i=n;i<N;i+=m)
55         {
56             change(i);
57             if(i%7==0 || ss.find("111")!=-1)puts("pass");
58             else cout<<ss<<endl;
59         }
60     }
61     return 0;
62 }
63 /*
64 //
65
66 //
67 */

千万不要点

时间: 2024-10-06 12:45:43

【模拟】XMU 1055 数七的相关文章

OCJP(1Z0-851) 模拟题分析(七)

Exam : 1Z0-851 Java Standard Edition 6 Programmer Certified Professional Exam 以下分析全都是我自己分析或者参考网上的,定有疏漏,还请大家对我的分析提出质疑. QUESTION 201 Given:1. public class TestString3 {2. public static void main(String[] args) {3. // insert code here5. System.out.print

NOIp模拟3 取数游戏

试题描述 有一个取数的游戏.初始时,给出一个环,环上的每条边上都有一个非负整数.这些整数中至少有一个0.然后,将一枚硬币放在环上的一个节点上.两个玩家就是以这个放硬币的节点为起点开始这个游戏,两人轮流取数,取数的规则如下: (1)选择硬币左边或者右边的一条边,并且边上的数非0: (2)将这条边上的数减至任意一个非负整数(至少要有所减小): (3)将硬币移至边的另一端. 如果轮到一个玩家走,这时硬币左右两边的边上的数值都是0,那么这个玩家就输了.如下图,描述的是Alice和Bob两人的对弈过程,其

计蒜客NOIP模拟赛D2T3 数三角形

刚刚上高中的洁洁在学习组合数学的过程中遇到一道麻烦的题目,她希望你能帮助她解决.给定一张无向完全图 G,其中大部分边被染成蓝色,但也有一些边被染成红色或者绿色.现在,洁洁需要给这张图的多样性进行打分.一张图的多样性取决于它的同色和异色三角形的个数.具体来说,G 中每有一个三边颜色都互不同的三角形(异色三角形)可以得 3 分,每有一个三边颜色都相同的三角形(同色三角形)则要被扣掉 6 分,其它三角形不得分也不扣分. 现在,请你写一个程序来计算 G 的多样性分数.输入格式 第一行两个正整数 n 和

Achen毒瘤模拟题T1——数数(counting)

题目大意:给出一个区间,并给定应两两相等的数位的数对,求满足的数的个数. 范围:1e5 做法: 先用并查集,将互相相等的树连成一块,统计块的个数,从高位到低位扫描,然后容斥即可 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<set> #include<queue> #inc

[CSP-S模拟测试]:平方数(数学+哈希)

题目传送门(内部题137) 输入格式 第一行,一个正整数$n$. 第二行$n$个正整数$a_1\sim a_n$. 输出格式 输出一个整数,为满足条件的二元组个数. 样例 样例输入: 51 2 3 4 12 样例输出: 2 数据范围与提示 对于$20\%$的数据,满足$n\leqslant 3,000$. 对于$50\%$的数据,满足$n\leqslant 50,000$. 对于另$20\%$的数据,满足$a_i\leqslant 1,000$. 对于$100\%$的数据,满足$1\leqsla

在聚会中常玩数七的游戏,七的倍数和带有七的数字都不能说,比如14,27,28。请找出1~100的不能说的数字。

利用ES5的filter高阶函数来实现 var arr =[1,2,3,4,5,6,7,17,27,21,22,28......100], r = arr.filter(function(x){ return (x % 10 == 7|| x % 7 == 0); }); alert(r);//[7,14,17,21,27,28..........97]

2017-9-3 校内模拟T2取数win

题意:给你一个序列,叫你找一个子序列,使得这个子序列的平均数减去中位数最大. 思路:题面直接说是单峰函数,我也没多想(根本没看懂),现在看来就是排序+三分搜索啦. 代码:(特地去学了下三分..): #include <iostream> #include <cstdio> #include <algorithm> using namespace std; int n; long long lefts,rights,lm,mr; int num[200100],presu

1107 回文数猜想

题目来源:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1107Description一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数.任取一个正整数,如果不是回文数,将该数与他的倒序数相加,若其和不是回文数,则重复上述步骤,一直到获得回文数为止.例如:68变成154(68+86),再变成605(154+451),最后变成1111(605+506),而1111是回文数.于是有数学家提出一个猜想:

[算法竞赛入门]蛇形填数

蛇形填数.在n×n方阵里填入1,2,-,n×n,要求填成蛇形.例如,n=4时方阵为:10 11 12 19 16 13 28 15 14 37 6 5 4上面的方阵中,多余的空格只是为了便于观察规律,不必严格输出.n≤8. [解析]这道题的解题思路主要还是在于如何模拟蛇形填数的过程. 我们给出两个概念的定义: (1)方向:该题中的方向顺序为"下-左-上-右" (2)墙:填数过程中若遇到墙,则应改变方向. [一种实现思路]注:这里我将n*n矩阵广义为n*m矩阵,令m=n. #includ