摘要:
spfa算法可以用栈代替队列,入栈时注意判断是否已在栈中。开始以为是要找最长路,其实是要找最短路。View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define maxn 30005#define maxm 150005struct Edge{ int v, w, next;}edge[maxm];int n, m, head[maxn], mystack[maxn], edgenum, to 阅读全文
摘要:
BFS,因为这题是4位数,所以要判断是不是素数只需要100以下的素数,先生成100以下素数表。View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>#include <queue>using namespace std;struct item{ int num[4];} a, b;int prime[100], primenum, cost[10000];int toint(item &a){ int ans = 0; 阅读全文
摘要:
我们只注意各队比分之和,认为一场比赛会如果战平则总和+2否则总和+3。所以我们只要输出3 * n - sum就可以了。View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;int main(){ //freopen("D:\\t.txt", "r", stdin); int n, t; while (scanf("%d%d", &t 阅读全文
摘要:
本来想到二分查找,后来发现直接使用pow,floor和ceil就可以。这些函数在cmath中。View Code #include <iostream>#include <cstdlib>#include <cstdio>#include <cstring>#include <cmath>using namespace std;int main(){ freopen("D:\\t.txt", "r", stdin); int b, n; while (scanf("%d%d" 阅读全文
摘要:
这一题学会了两个东西:1.cmath中的exp(x)函数是用来求e的x次幂。2.对于double类型scanf时要用%lf,printf时要用%f。这个题就是个套公式的简单题View Code #include <iostream>#include <cstdlib>#include <cstdio>#include <cstring>#include <cmath>using namespace std;int getid(char *st){ if (strcmp(st, "T") == 0) return 0 阅读全文