枚举
ACLJW
这个作者很懒,什么都没留下…
展开
-
253:Cube painting
253:Cube painting开始的想法:骰子无论怎么转,每个数字和其对面的数字的对应关系永远不会改变,所以只需要比较两个骰子的三对数字是否相同即可,也的确AC了,但是后来想想不太对。#include<cstdio>#include<cstring>using namespace std;char s[12];int vis[3];int main(){ ...原创 2018-04-12 12:42:34 · 102 阅读 · 0 评论 -
1354:Mobile Computing
Mobile Computing枚举二叉树然后计算其宽度即可,每次枚举两个节点构造一个父节点,计算宽度时需要注意的是每棵树的左节点的右边缘可能超过其右子树的左边缘,反之亦然。#include<bits/stdc++.h>using namespace std;const int maxn = 12;int n,s,idx,w[maxn],vis[maxn];doubl...原创 2018-10-26 17:37:09 · 121 阅读 · 0 评论 -
140:Bandwidth
Bandwidth注意节点不一定是按字母表顺序从前到后用的,也有可能是A C 却没用B,因为这个TLE了好几次。。#include<bits/stdc++.h>using namespace std;const int maxn = 26;int L,w;char s[100];int seq[maxn],vis[maxn],res[maxn],num[maxn],...原创 2018-08-18 22:47:48 · 134 阅读 · 0 评论 -
725:Division
Division#include<bits/stdc++.h>using namespace std;const int maxn = 64 + 5;int n,a[30240][6];int num,kase = 0,cnt = 0;int Pow(int a,int b){ int n = 1; while(b--) n *= a; retu...原创 2018-08-14 00:06:43 · 134 阅读 · 0 评论 -
10976:Fractions Again?!
Fractions Again?!x 要用 long long。#include<bits/stdc++.h>using namespace std;const int maxk = 10000;int k;long long x[2*maxk];int y[2*maxk];int judge(int y){ long long x = k*y/(y-k...原创 2018-08-14 12:35:18 · 133 阅读 · 0 评论 -
11059:Maximum Product
Maximum Product#include<bits/stdc++.h>using namespace std;const int maxn = 20;int n;int seq[maxn];int main(){ // freopen("data.in","r",stdin); // freopen("data.out","w",stdout);...原创 2018-08-14 11:49:42 · 128 阅读 · 0 评论 -
201:Squares
Squaresversion 1(20ms):#include<cstdio>#include<cstring>using namespace std;const int maxn = 10;int n,m,c,H[maxn][maxn],V[maxn][maxn];char readchar(){ for(;;){ c = getchar...原创 2018-04-13 19:40:01 · 96 阅读 · 0 评论 -
221:Urban Elevations
Urban Elevations书上的思路(离散化):把所有x坐标排序去重,则任意两个相邻x坐标形成的区间具有相同属性,一个区间要么完全可见,要么完全不可见。这样,只需在这个区间里任选一个点(例如中点),就能判断出一个建筑物是否在整个区间内可见。如何判断一个建筑物是否在某个x坐标处可见呢?首先,建筑物的坐标中必须包含这个x坐标,其次,建筑物南边不能有另外一个建筑物也包含这个x坐标,并且不比它矮。代...原创 2018-04-18 23:18:08 · 142 阅读 · 0 评论 -
10391:Compound Words
Compound Words我的思路:对于每个单词,依次枚举其所有可能组合的情况,看其两个子单词是否存在于dict中。version 1(30ms):#include<cstdio>#include<iostream>#include<set>#include<cstring>using namespace std;int main(){...原创 2018-04-22 21:17:54 · 121 阅读 · 0 评论 -
1592:Database
Database思路:只枚举c1和c2,然后从上到下扫描各行。每次碰到一个新的行r,把c1,c2两列的内容作为一个二元组存到一个map中。如果map的键值中已经存在这个二元组,该二元组映射到的就是所要求的r1,而当前行就是r2。在主循环之前先做一个预处理——给所有字符串分配一个编号,则整个数据库中每个单元格都变成了整数,上述二元组就变成了两个整数,这个操作同样用到了map。version 1(14...原创 2018-04-17 23:59:59 · 125 阅读 · 0 评论 -
455:Periodic Strings
A character string is said to have period k if it can be formed by concatenating one or more repetitionsof another string of length k. For example, the string ”abcabcabcabc” has period 3, since it is ...原创 2018-04-05 00:20:28 · 106 阅读 · 0 评论 -
8469:特殊密码锁
总时间限制:1000ms内存限制:1024kB描述有一种特殊的二进制密码锁,由n个相连的按钮组成(n<30),按钮有凹/凸两种状态,用手按按钮会改变其状态。然而让人头疼的是,当你按一个按钮时,跟它相邻的两个按钮状态也会反转。当然,如果你按的是最左或者最右边的按钮,该按钮只会影响到跟它相邻的一个按钮。当前密码锁状态已知,需要解决的问题是,你至少需要按多少次按钮,...原创 2018-04-02 23:33:39 · 1516 阅读 · 3 评论 -
1222:EXTENDED LIGHTS OUT
EXTENDED LIGHTS OUTTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 12788 Accepted: 8097DescriptionIn an extended version of the game Lights Out, is a puzzle with 5 rows of 6 buttons each (th...原创 2018-04-02 21:50:25 · 183 阅读 · 0 评论 -
12113:Overlapping Squares
Overlapping Squares我的思路:可以根据所给图形计算出图形中包含的方块的个数以及它们各自的位置,方块可以根据某一个角点的位置来确定,具体方法见 count() 函数。方块确定之后,图形的各种变化就取决于方块们的不同放置顺序了,枚举所有排列,进行模拟,看看模拟结果里面有没有所给图形即可。思路没什么问题,代码了检查了好多遍,但是一直WA,暂时还没发现问题,再想想吧。#in...原创 2018-12-29 15:48:37 · 227 阅读 · 0 评论