51nod1109(bfs)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1109
题意:中文题诶~
思路:可以用二叉树构建,根节点为 1,左儿子为 0,右儿子为 1.然后直接bfs一遍就好了;
注意:直接用十进制记录可能会tle或mle.可以用二进制形式记录,再存储到十进制数里,输出时再还原成二进制形式就好了;
代码:
#include <iostream>
#include <queue>
#define ll long long
using namespace std; int n;
ll ans;
string res; void bfs(void){
queue<pair<int,int> > q;
q.push({, });
ll cnt, cnt1, cnt2;
while(!q.empty()){
cnt = q.front().first;
int x = q.front().second;
q.pop();
cnt1 = cnt * ;
cnt2 = cnt * + ;
if((x * ) % n == ){
ans = cnt1;
break;
}
if((x * + ) % n == ){
ans = cnt2;
break;
}
q.push({cnt1, (x * ) % n});
q.push({cnt2, (x * + ) % n });
}
while(ans){
res += (ans % + '');
ans /= ;
}
for(int i = res.size()-; i >= ; i--){
cout << res[i];
}
cout << endl;
} int main(void){
cin >> n;
bfs();
}
51nod1109(bfs)的更多相关文章
- 图的遍历(搜索)算法(深度优先算法DFS和广度优先算法BFS)
		
图的遍历的定义: 从图的某个顶点出发访问遍图中所有顶点,且每个顶点仅被访问一次.(连通图与非连通图) 深度优先遍历(DFS): 1.访问指定的起始顶点: 2.若当前访问的顶点的邻接顶点有未被访问的,则 ...
 - 【BZOJ-1656】The Grove  树木       BFS + 射线法
		
1656: [Usaco2006 Jan] The Grove 树木 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 186 Solved: 118[Su ...
 - POJ 3278 Catch That Cow(bfs)
		
传送门 Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 80273 Accepted: 25 ...
 - POJ 2251 Dungeon Master(3D迷宫 bfs)
		
传送门 Dungeon Master Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 28416 Accepted: 11 ...
 - Sicily 1215: 脱离地牢(BFS)
		
这道题按照题意直接BFS即可,主要要注意题意中的相遇是指两种情况:一种是同时到达同一格子,另一种是在移动时相遇,如Paris在(1,2),而Helen在(1,2),若下一步Paris到达(1,1),而 ...
 - Sicily 1048: Inverso(BFS)
		
题意是给出一个3*3的黑白网格,每点击其中一格就会使某些格子的颜色发生转变,求达到目标状态网格的操作.可用BFS搜索解答,用vector储存每次的操作 #include<bits/stdc++. ...
 - Sicily 1444: Prime Path(BFS)
		
题意为给出两个四位素数A.B,每次只能对A的某一位数字进行修改,使它成为另一个四位的素数,问最少经过多少操作,能使A变到B.可以直接进行BFS搜索 #include<bits/stdc++.h& ...
 - Sicily 1051: 魔板(BFS+排重)
		
相对1150题来说,这道题的N可能超过10,所以需要进行排重,即相同状态的魔板不要重复压倒队列里,这里我用map储存操作过的状态,也可以用康托编码来储存状态,这样时间缩短为0.03秒.关于康托展开可以 ...
 - Sicily 1150: 简单魔板(BFS)
		
此题可以使用BFS进行解答,使用8位的十进制数来储存魔板的状态,用BFS进行搜索即可 #include <bits/stdc++.h> using namespace std; int o ...
 
随机推荐
- 《CSS权威指南(第三版)》---第三章 结构和层叠
			
这章主要讲的是当某个对象被选择器多次提取使用样式之后的一些冲突性解决方案: 1.特殊性:指的是当多个效果作用的时候的最终选择: 这个规则用0,0,0,0来比较.其中:内联式是1,0,0,0 ID选择 ...
 - 《CSS权威指南(第三版)》---第二章 选择器
			
本章的主要内容是,怎么获取文档中的元素给予渲染: 1.元素选择器: 2.ID选择器: 3.CLSSS选择器: 4.通配选择器:*; 5.属性选择器:selector[] 6.部分属性选择器: sele ...
 - linux字符设备学习笔记【原创】
			
1.申请设备号 int register_chrdev_region(dev_t from, unsigned count, const char *name) 指定从设备号from开始,申请coun ...
 - ant 内存空间不足
			
在报错的标签中加入属性maxmemory="1024m" fork="true" 再添加标签 <jvmarg value="-Xmx2048m& ...
 - linux命令学习笔记(62)-curl命令-url下载工具
			
linux curl是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合 传输工具,但按传统,习惯称url为下载工具. 一,curl命令参数,有好多我没有用过,也不知道 ...
 - PS 滤镜— —扇形warp
			
clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imread ...
 - POJ3237 Tree(树剖+线段树+lazy标记)
			
You are given a tree with N nodes. The tree’s nodes are numbered 1 through N and its edges are numbe ...
 - <十六>UML核心视图动态视图之状态图
			
一:状态图 --->状态图显示一个状态机. --->状态机用于对模型元素的动态性进行建模.更具体地说,就是对系统行为中受事件驱动的方面进行建模. --->通常使用状态图来说明业务角色 ...
 - 【Lintcode】153.Combination Sum II
			
题目: Given a collection of candidate numbers (C) and a target number (T), find all unique combination ...
 - 几个网络模型的示例代码(BlockingModel、OverlappedModel、WSAEventSelect、CompletionRoutine)..c++
			
作者的blog:猪)的网络编程世界 几个网络模型的示例代码代码包括了下面几个模型的示例:BlockingModel(阻塞模式).OverlappedModel(基于事件的重叠I/O).WSAEvent ...