SRM 390(1-250pt)】的更多相关文章

DIV1 250pt 题意:给定整数n和k,问最少需要多少个n连接在一起形成的新整数t,使得t是k的倍数.如果不能形成倍数,输出-1.k <= 10^5,n <= 10^9. 解法:不断增加连接的n的数量,如果新形成的数除以k的余数已经出现过,说明出现循环,说明该输出-1.否则,最多执行k次就能得到答案.所以,总的来说最多执行k次,可以直接暴力. tag:brute-force // BEGIN CUT HERE /* * Author: plum rain * score : */ /* *…
problem1 link 记录一个模$k$之后的值是否出现过,出现过则出现循环,无解:否则最多$k$ 次一定能出现0. import java.util.*; import java.math.*; import static java.lang.Math.*; public class ConcatenateNumber { public int getSmallest(int number, int k) { if(k==1) { return 1; } boolean[] f=new b…
SRM 593 DIV1 250pt 题意:有如下图所示的平面,每个六边形有坐标.将其中一些六边形染色,要求有边相邻的两个六边形不能染同一种颜色.给定哪些六边形需要染色,问最少需要多少种颜色. 解法:首先,需要0种颜色和需要1种颜色很容易判断,其次,最多需要3种颜色.易证. 也就是说,难以判断的就是需要2种颜色还是3种颜色.假定只需要染2种颜色,然后将需要染色的六边形染色,看是否会出现矛盾.用DFS染色. Ps:和官方题解一比,自己写的代码太麻烦了.... tag:染色 /* * Author:…
SRM 475 DIV1 300pt 题意:玩游戏.给一个棋盘,它有1×n(1行n列,每列标号分别为0,1,2..n-1)的格子,每个格子里面可以放一个棋子,并且给定一个只含三个字母WBR,长度为n的字符串,代表每个格子的颜色.在游戏开始时,r个棋子随机摆放在这n个格子里(每个棋子摆在每个格子里的概率相同),问游戏结束时,这些格子里所剩棋子数的期望.游戏的规则为(记这个棋盘的列数为size): 1.如果棋子在0格,则向右移动一格: 2.如果棋子在size-1或size-2格,则向左移动一格: 3…
SRM 468 DIV1 250pt 题意:给出字典,按照一定要求进行查找. 解法:模拟题,暴力即可. tag:water score: 0.... 这是第一次AC的代码: /* * Author: plum rain * score : 0 */ #line 11 "T9.cpp" #include <sstream> #include <stdexcept> #include <functional> #include <iomanip&g…
SRM 470 DIV1 250pt 题意:有n个房间排成一排,相邻两个房间之间有一扇关闭着的门(共n-1扇),每个门上都标有‘A’-‘P’的大写字母.给定一个数n,表示第n个房间.有两个人John和Gogo,两人轮流按下面的规则选择一个大写字母(‘A’-‘P’),每选择一次字母,标有该字母的门就打开了. 某次选择之后:若所有门全部打开,则平手游戏结束,输出0:n房间之前的门全部打开,则John胜游戏结束,输出两人总共选择了的颜色的数量:n房间后的门全部打开,则Gogo胜游戏结束,输出-1 ×…
嗯....还是应该坚持写题解的好习惯啊... DIV1 250pt 这难度是回到srm 300+的250了嘛...略 // BEGIN CUT HERE /* * Author: plum rain * score : */ /* */ // END CUT HERE #line 11 "MagicalStringDiv1.cpp" #include <sstream> #include <stdexcept> #include <functional&g…
DIV1 250pt 题意:将一个数表示成质因子相乘的形式,若乘式所含数字的个数为质数,则称A为underprime.比如12 = 2*2*3,则含3个数字,是underprime.求A, B之间underprime的个数.A, B <= 10^5. 解法:暴力枚举A,B之间所有数,求出其乘式所含数字的个数, 判断是不是质数. tag:brute-force // BEGIN CUT HERE /* */ // END CUT HERE #line 7 "Underprimes.cpp&q…
今天第一次做topcoder,没有比赛,所以找的最新一期的SRM练习,做了第一道题. 题目大意是说 给一个数字字符串,任意交换两位,使数字变为最小,不能有前导0. 看到题目以后,先想到的找规律,发现要从后向前找数字串中最小的数,放在数字串中尽可能靠前的位置,数字最小.用这个贪心.找规律的方法,写代码,然后提交测试. 但最后,写出的代码不能过几组数据,感觉边界的数据非常容易考虑不周而出错,比如第一个数字是否为最小,数字串中是否有零等. 看了其他人的代码(http://www.cnblogs.com…
SRM 513 2 1000CutTheNumbers Problem Statement Manao has a board filled with digits represented as String[] board. The j-th character of the i-th element of board represents the digit written in cell in row i, column j of the board. The rows are numbe…