05 2011 档案
zju1024Calendar Game
摘要:#include<iostream>#include<cstring>using namespace std;int maxd[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//每个月最多天数int iswin[102][13][32];//以该天起始,亚当是否会赢 1会赢 0 会输 -1还没计算过int judge(int y,int m,int d){ int win=0; if(y==101&&m==11&&d==4)return 0;//若Eve成功 if(y>101||(y==10 阅读全文
posted @ 2011-05-14 12:56 4.5.6 阅读(212) 评论(0) 推荐(0)
zjut1698Coins
摘要:/*多重背包zjut 1698 Coins 思路:根据每个coin的x y值大致得出每种coin最多可取几个,然后用二进制处理产生新的coin,将问题转化为01背包状态转移:dp[j][k]=min(dp[j-xx[i]][k-yy[i]]+cost[i],dp[j][k]);*/#include<iostream>#include<cmath>#include<algorithm>using namespace std;int m,s;int x[101],y[101],dp[301][301],vis[301][301];int xx[100001],y 阅读全文
posted @ 2011-05-11 23:02 4.5.6 阅读(149) 评论(0) 推荐(0)
zjut1684AirCraft
摘要:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1684AirCraft Time Limit:1000MS Memory Limit:32768KDescription:LCS has an aircraft, he can use some specific commands to make his aircraft to move. To simple the problem, you can assume the aircraft just move on the 2D-Plane.There are four commands :fd x 阅读全文
posted @ 2011-05-08 10:26 4.5.6 阅读(176) 评论(0) 推荐(0)
zjut1689联盟
摘要:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1689联盟 Time Limit:1000MS Memory Limit:32768KDescription:某大陆上有n个独立的国家,它们没有组成任何联盟。但从某一天开始,1号国家将某国拉拢过去作为联盟,然后2号国家也拉拢某国,然后3号。。。。一直到n号国家。如果拉拢的国家已有联盟,则将它所属联盟一起拉拢过来,形成新的联盟。当n次拉拢结束之后,求1号国家的联盟国有几个。Input:有多组测试数据。每组数据有两行,第一行为n(1<=n<=350000),第二行有n个数,分别表示n个国家拉 阅读全文
posted @ 2011-05-07 18:07 4.5.6 阅读(177) 评论(0) 推荐(0)
zjut1672 TV play I
摘要:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1672#include<iostream>#include<iomanip>#include<string>#include<map>using namespace std;int num(string s){ string ss; ss.clear(); int sum=0; for(int i=0;i<s.size();i++) { if(s[i]!='.')ss+=s[i]; } for(int i=0;i<ss.si 阅读全文
posted @ 2011-05-07 00:10 4.5.6 阅读(211) 评论(0) 推荐(0)
zjut1676搭数字I
摘要:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1676/*搭数字I Time Limit:1000MS Memory Limit:32768KDescription:楠哥哥是个小屁孩,喜欢玩筷子。有天他发现若干根筷子可以搭成一些数字。如图(搭出数字1需要两个筷子,数字2需要5根筷子……)现在就有疑问了,给定n(2<=n<100)根筷子,那个可以组成的最小数是多少?Input:每行给定一个筷子数量n (2<=n<100)Output:每行输出用这n根筷子所能组成的最小数。Sample Input:36715Sample Ou 阅读全文
posted @ 2011-05-06 22:40 4.5.6 阅读(316) 评论(0) 推荐(0)
zjut1675 I like DPS!!!
摘要:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1675/*Description:Altynai是一个纯正的DOTA菜鸟..而且他玩DOTA有一个特点,就是特别喜欢那些DPS(每秒输出的伤害)高的英雄..而且买的装备也是专门买那种加攻击力加的很多的装备.. = = 现在他又在玩DOTA了..由于一开始杀了很多次敌方的英雄和小兵,Altynai现在身上有一些小钱了..现在他开心的回自己的基地准备买装备了..由于有限制,他身上最多能带6个装备,而且每种装备他最多买一件..由于时间紧迫,他必须抓紧时间来买装备,从而能使自己的攻击力增加的最多..当然了, 阅读全文
posted @ 2011-05-06 13:14 4.5.6 阅读(315) 评论(0) 推荐(0)
zjut1674刷屏
摘要:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1674刷屏 Time Limit:1000MS Memory Limit:32768KDescription:小y在群里跟人刷屏,他想知道怎样刷屏是最快最节省操作的。而他又很挑剔,想输出多少字符就只能输出多少。刷屏的操作包括以下,每项算一次操作:1.输入一个字符。2.全选所有已输入的字符。3.复制4.粘贴(全选后的初次粘贴只是覆盖了原来的内容,因为小y没有鼠标去取消全选状态……)。Input:首先一个整数cas,表示接下来有cas个数据。 每个数据占一行,为一个整数n,0<n<5000, 阅读全文
posted @ 2011-05-06 09:55 4.5.6 阅读(268) 评论(0) 推荐(0)
zjut1673搭数字II
摘要:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1673Description:楠哥哥是个小屁孩,喜欢玩筷子。有天他发现若干根筷子可以搭成一些数字。如图:(搭出数字1需要两个筷子,数字2需要5根筷子……) 现在就有疑问了,给定n(2<=n<100)根筷子,那个可以组成的最大数是多少?Input:每行给定一个筷子数量n (2<=n<100)Output:每行输出用这n根筷子所能组成的最大数字Sample Input:36715Sample Output:71117117111111#include<iostream> 阅读全文
posted @ 2011-05-05 10:48 4.5.6 阅读(275) 评论(0) 推荐(0)
zjut 1688 I love you
摘要:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1668/*位运算给出n个数字 问最少需要几个数字使这些数字和为m*/#include<iostream>#include<cstring>using namespace std;int m,n,ans;const int INF=100000000;int a[101];void i_love_you(int k){ int sum=0,num=0;; for(int i=0;i<n;i++) { if(k&(1<<i)){sum+=a[i];num 阅读全文
posted @ 2011-05-05 10:27 4.5.6 阅读(231) 评论(0) 推荐(0)
zoj1005 Jugs
摘要:/*题意:有容量分别为Ca Cb 的A B两个壶 需要你通过几种操作使B壶中装有n容量的水有如下操作empty Aempty Bfill Afill Bpour A Bpour B A成功后输出success*/#include<iostream>#include<stdio.h>#include<cstring>#include<string>#include<vector>using namespace std;int vis[1001][1001];int ca,cb,n;vector <string> v;void 阅读全文
posted @ 2011-05-04 20:38 4.5.6 阅读(246) 评论(0) 推荐(0)
zoj1004Anagrams by Stack
摘要:/*题意:给出两个字符串A,B,栈的压入弹出操作使A变成B,i表示输入,o表示输出。请求出所有可能的操作,按字典序输出。分析:已知边界条件是压入次数==A.size()&&弹出次数==B.size()。用递归回溯求出所有可能的操作顺序*/#include<iostream>#include<vector>#include<string>#include<stack>#include<algorithm>#include<cstring>using namespace std;string s1,s2;sta 阅读全文
posted @ 2011-05-03 13:23 4.5.6 阅读(159) 评论(0) 推荐(0)
zoj1002 Fire Net
摘要:#include<iostream>#include<string>#include<cstring>#include<algorithm>using namespace std;string map[5];int ANS,n;int wall[5][5],mark[5][5];bool check(int x,int y){ for(int i=x-1;i>=0;i--) { if(mark[i][y])return 0; if(wall[i][y])break; } for(int j=y-1;j>=0;j--) { if(mar 阅读全文
posted @ 2011-05-02 23:31 4.5.6 阅读(200) 评论(0) 推荐(0)