摘要: 题意:n个点(n<=1000),m条有向边(m<=20000),起点s,有的点是P类型,有的点是T类型,求最短的到达P型点的路线,要求路径长度能被k整除(k<=1000),输出长度和终点编号。若有多条,输出终点编号最小的。分析:一开始看点很多,又能重复走,觉得深搜爆栈,所以广搜,果断爆空间。。后来深搜,若有两个长度d1,d2模k余数相同,只保留较小的那个。const int N = 1005, M = 20005;int n, m, s, p, ansv;LL k, ansd;int head[N];char c[N];struct nod{ int v, next; LL 阅读全文
posted @ 2013-05-27 22:12 心向往之 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 题意:十二面体有20个顶点,每个顶点和相邻3个顶点相连,问从一个顶点出发,每个顶点只走一遍,回到原点的走法。如果有多条,按字典序输出。分析:将每个顶点的相邻点排序,然后简单深搜。。。int a[21][3];int m, cnt;int p[21], b[21];void d(int i, int u){//第i步为顶点u if(i==19){ FOR(j, 0, 3) if(a[u][j] == m){ printf("%d: ", ++cnt); FOE(k, 0, 20) printf(... 阅读全文
posted @ 2013-05-27 14:40 心向往之 阅读(118) 评论(0) 推荐(0) 编辑