摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4708思路:由于N不大,并且我们可以发现通过旋转得到的4个对角线的点的位置关系,以及所要旋转的最小步数,然后把所有的符合条件的都加入数组中,最后排序即得。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 struct Node{ 8 int sum,step; 9 }node[11][11],ans[11][11];10 11 int n,p,k;12 int map[11][11];13 14 ... 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4715思路:先打个素数表,然后判断一下就可以了。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 bool isprime[7000002]; 9 int num[7000000];10 11 int main()12 {13 int k=0;14 memset(isprime,true,sizeof(isprime));15 isprime[0]=ispri... 阅读全文
摘要:
题目链接:http://code.hdu.edu.cn/showproblem.php?pid=2412思路:这篇文章讲的很清楚:http://wenku.baidu.com/view/84164e1a227916888486d7d6.html。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 10 int dp[222][2];11 int flag[222][2];12 int n;13 vector >G;14 15 void 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1011思路:dp[i][j]表示以i为根的子树派遣j个士兵占领的最大价值。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define MAXN 111 8 9 10 int dp[MAXN][MAXN];11 int num[MAXN],val[MAXN];12 int n,m;13 bool mark[MAXN];14 vector >G;15 16 void dfs(int 阅读全文