【模拟】UVa 1030 - Image Is Everything】的更多相关文章

题目链接:uva 1030 - Image Is Everything 题目大意:有一个最大为n*n*n的立方体的一个不规整立体,由若干个1*1*1的小正方体构成(每一个小正方体被涂成不同的颜色),给出n,然后是该立体的前.左.后.右.上和下的视图,然后判断该立体的最大体积是多少. 解题思路:首先先把所有视图上为‘.'的地方清空,然后枚举视图上不为’.'的地方,计算对应的坐标第一个不为空得位置,将其涂色(注意,若一个正方体被着两种不同的颜色,说明该位置不存在正方体). 下面给出AC代码: #in…
题目链接:uva 1030 - Image Is Everything 题目大意:有一个最大为n*n*n的立方体的一个不规整立体,由若干个1*1*1的小正方体构成(每一个小正方体被涂成不同的颜色),给出n,然后是该立体的前.左.后.右.上和下的视图,然后判断该立体的最大体积是多少. 解题思路:首先先把所有视图上为‘.'的地方清空,然后枚举视图上不为’.'的地方,计算对应的坐标第一个不为空得位置,将其涂色(注意,若一个正方体被着两种不同的颜色,说明该位置不存在正方体). #include <std…
1030 - Image Is Everything Time limit: 3.000 seconds Your new company is building a robot that can hold small lightweight objects. The robot will have the intelligence to determine if an object is light enough to hold. It does this by taking pictures…
"One thing is for certain: there is no stopping them;the ants will soon be here. And I, for one, welcome ournew insect overlords." Kent Brockman Piotr likes playing with ants. He has n of them on a horizontal pole L cm long. Each ant is facing e…
  Updating a Dictionary  In this problem, a dictionary is collection of key-value pairs, where keys are lower-case letters, and values are non-negative integers. Given an old dictionary and a new dictionary, find out what were changed. Each dictionar…
  Robot Instructions  You have a robot standing on the origin of x axis. The robot will be given some instructions. Your task is to predict its position after executing all the instructions. LEFT: move one unit left (decrease p by 1, where p is the p…
挺水的模拟题,刚开始题目看错了,poj竟然过了...无奈.uva果断wa了 搞清题目意思后改了一下,过了uva. 题目要求模拟木块移动: 有n(0<n<25)快block,有5种操作: move a onto b  在将a搬到b上之前,先把a和b上的积木放回原來的位置 move a over b在将a搬到b所在的那堆积木上前,先把a上的积木放回原來的位罝 pile a onto b 将包括a本身和上方的积木一起放到b上,在放之前b上方的积木放回原来的位置 pile a over b 将包括a本…
双向约瑟夫环. 数据规模只有20,模拟掉了.(其实公式我还是不太会推,有空得看看) 值得注意的是两个方向找值不是找到一个去掉一个,而是找到后同时去掉. 还有输出也很坑爹! 在这里不得不抱怨下Uva的oj,少了个s,少了个空行什么的都不会显示pe,就给个wa,让人还以为算法有问题.原本以为Uva没有pe,然后据说这边的输出空行如果不对的话就会显示pe... 代码: #include <cstdio> #include <cstring> const int maxn = 22; in…
题意:蚂蚁在木棍上爬,速度1cm/s,给出木棍长度和每只蚂蚁的位置,问蚂蚁全部下木棍的最长时间和最短时间. 模拟一下,发现其实灰常水的贪心... 不能直接求最大和最小的= =.只要求出每只蚂蚁都走长路下木棍时的最大值,和走短路时的就行了. 代码: /* * Author: illuz <iilluzen@gmail.com> * Blog: http://blog.csdn.net/hcbbt * File: uva10714.cpp * Lauguage: C/C++ * Create Da…
UVA 246 - 10-20-30 题目链接 题意:给52张的扑克堆,先从左往右发7张牌,之后连续不断从左往右发7张牌,假设有牌堆形成了下面3种情况(按顺序推断): 1.头两张+尾一张和为10或20或30 2.头一张+尾两张和为10或20或30 3.尾三张和为10或20或30 就把这三张牌拿走,放到总牌堆底(这步要不断运行直到不再满足条件或牌堆没了) 假设有一个牌堆由于这个操作被取完了,那么以后将不在这个位置发牌. 假设最后7个牌堆都能够消掉,那么赢,总牌堆用完,那么输,否则平(即不断循环)…
题意:一题街道上很多酒店,交易葡萄酒,正数为卖出葡萄酒,负数为需要葡萄酒,总需求量和总售出量是相等的,从一家店到另外一家店需要路费(路费=距离×运算量),假设每家店线性排列且相邻两店之间距离都是1,求最小路费. 在纸上模拟了一下,你会发现一家店如果卖酒,它的最终流向就是向两边运送:如果买酒,那它就在那边等别家店送酒过来.(我在废话...) 然后第一家店肯定是向右边运酒了,最小的运费当然是卖给右边尽量近的店了,然后第一家店的供求就为0,不需要再考虑了,这样就变成后面几家去买卖的子问题了. 这样是可…
题意:给出几个圆的半径,贴着底下排放在一个长方形里面,求出如何摆放能使长方形底下长度最短. 由于球的个数不会超过8, 所以用全排列一个一个计算底下的长度,然后记录最短就行了. 全排列用next_permutation函数,计算长度时坐标模拟着摆放就行了. 摆放时折腾了不久,一开始一个一个把圆放到最左端,然后和前面摆好的圆比较检查是否会出现两个圆重叠,是的话就把当前圆向右移动到相切的位置.然后判断宽度. 结果发现过不了几个例子,检查了好久,终于发现问题出在初始位置上,如果出现一个特别小的圆放到最左…
题目的隐含条件将这道题指向了最小生成树: 利用类似prim的方法,枚举所有子图并判断是否包含询问点,如果包含那么可以更新答案: 边统计边更新,且由于更新一定是向更多的点状态下更新,所以一定可以统计到答案,不至于到全部是inf的情况 再更新答案时记录ps,pe两个变量分别表示此状态最后一次更新前的状态,边,会在寻找路径时用到 最后统计到的答案ans,走到初始的t,路径中打下vis标记后再从头dfs沿着vis打过的走下去,并在路径中遇到叶子节点时顺便将走过的路径放入vector 最后利用vector…
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2151 题意 麻将,有13张牌,问再加哪一张牌可以凑成一对,若干个三张和若干个三联. 思路 如刘书思路,明显,这是一道模拟题. 感想 1. 三倍ice cream! 代码 #include <algorithm> #include <cassert> #incl…
from CSDN: https://blog.csdn.net/su_cicada/article/details/87898579 例题6-1 并行程序模拟( Concurrency Simulator, ACM/ICPC World Finals 1991, UVa210) 你的任务是模拟n个程序( 按输入顺序编号为1- n) 的并行执行. 每个程序包含不超过 25条语句, 格式一共有5种: var = constant( 赋值) : print var( 打印) : lock: unlo…
题目链接: https://cn.vjudge.net/problem/UVA-213 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=149 题目大意: 给一种编码方式,0,00,01,10,000,...,依次对应一个字符: 一开始需要读入3位长的2进制数来表示接下来的解码长度L,接下来读L位,解码,直到读入L个1停止. 接下来继续读解…
UVA 1156 - Pixel Shuffle 题目链接 题意:依据题目中的变换方式,给定一串变换方式,问须要运行几次才干回复原图像 思路:这题恶心的一比,先模拟求出一次变换后的相应的矩阵,然后对该矩阵求出全部循环长度,全部循环长度的公倍数就是答案 代码: #include <stdio.h> #include <string.h> const int N = 1100; int t, n, g[N][N], vis[N][N], save[N][N]; char str[N],…
题目大意:给出i,输出第i个镜像数,不能有前导0. 题解:从外层开始模拟 #include <stdio.h> int p(int x) { int sum, i; ;i<=x;i++) sum *= ; return sum; } int main() { ], c; while(~scanf("%d", &n)) { ) break; i=; *p((i-)/)) { n -= *p((i-)/); i++; } c = (i+)/; t=; while(…
Division 紫书入门级别的暴力,可我还是写了好长时间 = = [题目链接]uva 725 [题目类型]化简暴力 &题解: 首先要看懂题意,他的意思也就是0~9都只出现一遍,在这2个5位数中. 接着,你要知道:枚举一个5位数就够了,不用2个5位数都枚举,因为你可以通过n知道第2个5位数. 最后set维护出现的次数,ok判断是否可行,pri输出. [时间复杂度]O(1e5) &代码: #include <bits/stdc++.h> using namespace std;…
用一个队列模拟,还有一个数组cnt记录9个优先级的任务的数量,每次找到当前最大优先级的任务然后出队,并及时更新cnt数组. #include <iostream> #include <cstring> #include <algorithm> #include <cstdio> #include <queue> using namespace std; struct Task { int pos, pri; Task(, ):pos(pos),…
题意: 模拟一个文本编辑器,可以输入字母数字下划线,如果遇到'['则认为是Home键,如果是']'则认作End键. 问最终屏幕上显示的结果是什么字符串. 分析: 如果在数组用大量的移动字符必然很耗时.所以next数组表示显示屏中s[i]右边的字符编号,变量cur模拟光标,即当前光标位于s[cur]的右边. 变量last记录显示屏最后一个字符的下标. 我理解的连接的情况应该是这样子的: //#define LOCAL #include <cstdio> #include <cstring&…
题目很简单,给一个队列以及文件的位置,然后一个一个检查,如果第一个是优先级最高的就打印,否则放到队列后面,求所要打印的文件打印需要花费多长时间. 这里我用数组模拟队列实现,考虑到最糟糕的情况,必须把数组开到maxn*maxn.另外当所要打印的文件优先级不是最高的时候也需要排列到后面. 0.016s. 代码: #include <cstdio> const int maxn = 101; int t, n, m, time; int q[maxn*maxn]; int print() { int…
模拟题 题目描述挺长的.... #include <cstdio> #include <cstdlib> #include <cmath> #include <map> #include <set> #include <queue> #include <stack> #include <vector> #include <sstream> #include <string> #inclu…
Fans and Gems Input: Standard Input Output: Standard Output Tomy's fond of a game called 'Fans and Gems' (also known as Gravnic). In the game, he can use fans to collect gems, but he's satisfied with his play only if all the gems are collected with m…
System Dependencies  Components of computer systems often have dependencies--other components that must be installed before they will function properly. These dependencies are frequently shared by multiple components. For example, both the TELNET cli…
题意: 有n个木块及n个木块堆,初始状态是第i个木块在第i个木块堆上.对应有四种操作,然后输出最终状态. 分析: 用一个vector<int>模拟一个木块堆,进行相应操作即可. #include <iostream> #include <cstdio> #include <vector> #include <string> using namespace std; ; int n; vector<int> pile[maxn]; vo…
想麻烦了.这题真的那么水啊..直接暴力模拟,1000次(看了网上的200次就能A)后判断是否全为0,否则就是LOOP: #include <iostream> #include <sstream> #include <cstdio> #include <cstring> #include <cmath> #include <string> #include <vector> #include <set> #in…
题目大意:给你一个完全二叉树,并且给他们编号,编号规则为左子树为2*k,右子树为2*k+1,每一个节点 上都有一个开关,初始时开关都处于关闭状态,小球碰到节点就会改变该点的开关的状态.然后给你I个小球, 要求输出第I个小球最终到达的叶子节点的编号. 思路分析:简单的模拟题,主要是要对二叉树的结构和编号原则清楚,有D层,则一共有(1<<D)-1个节点,然 后就可以开一个数组用来储存每一节点的状态,初识化为0,表示均处于关闭状态,然后就开始进行模拟,判断是否 越界通k>n?注意最后 要输出k…
</pre></center><center style="font-family: Simsun;font-size:14px;"><span style="font-size:32px;"><strong>Problem D</strong></span><span style="font-size:24px;"><strong>Pio…
题意:有一颗二叉树,深度为D,所有节点从上到下从左到右编号为1,2,3.....在结点一处放一个小球,每个节点是一个开关,初始全是关闭的,小球从顶点落下,小球每次经过开关就会把它的状态置反,现在问第k个球下落到D层时经过的开关编号 思路:lrj大哥的书上第一种方法是模拟,但是还是有要知道的知识点,对于一个结点k,其左子结点为2k,右结点为2k+1,它的父节点为k/2,深度为d的一颗树包含2^d个结点: 第二种方法,由于第一中方法模拟的运算量太大,所以我们lrj大哥说当I是奇数时,它是往左走的第(…