信息学 学习/复习 抽签器(附源码)

效果图

以下是源代码,可自行修改

[C++]

//By DijkstraPhoenix
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
vector<string>item;
int main(void)
{
	item.push_back("Manacher");
	item.push_back("Tarjan");
	item.push_back("跳点搜索JPS");
	item.push_back("深度优先搜索DFS");
	item.push_back("广度优先搜索BFS");
	item.push_back("启发式搜索A*");
	item.push_back("迭代加深搜索IDDFS");
	item.push_back("迭代加深启发式搜索IDA*");
	item.push_back("线性DP");
	item.push_back("区间DP");
	item.push_back("线段树");
	item.push_back("树状数组");
	item.push_back("根号分治");
	item.push_back("排列组合");
	item.push_back("概率期望");
	item.push_back("贪心");
	item.push_back("分治");
	item.push_back("树形DP");
	item.push_back("状压DP");
	item.push_back("数位DP");
	item.push_back("KMP");
	item.push_back("平面几何");
	item.push_back("立体几何");
	item.push_back("欧拉公式");
	item.push_back("拓扑排序");
	item.push_back("扫描线");
	item.push_back("二分");
	item.push_back("最短路");
	item.push_back("生成树");
	item.push_back("网络流");
	item.push_back("上下界网络流");
	item.push_back("割点和桥");
	item.push_back("点双连通分量");
	item.push_back("边双连通分量");
	item.push_back("单调队列");
	item.push_back("差分约束");
	item.push_back("二分图匹配");
	item.push_back("ST表与RMQ");
	item.push_back("中国剩余定理CRT");
	item.push_back("平面最近点对");
	item.push_back("并查集");
	item.push_back("矩阵加速");
	item.push_back("斜率优化DP");
	item.push_back("树链剖分");
	item.push_back("基环树");
	item.push_back("虚树");
	item.push_back("容斥");
	item.push_back("图论建模");
	item.push_back("单调栈");
	item.push_back("哈希Hash");
	item.push_back("背包DP");
	item.push_back("强连通分量");
	item.push_back("扩展欧几里得exgcd");
	item.push_back("最近公共祖先LCA");
	item.push_back("分块");
	item.push_back("莫队");
	item.push_back("优先队列");
	item.push_back("二次扫描与换根");
	item.push_back("悬线法"); 
	item.push_back("CDQ分治"); 
	item.push_back("字典树Trie");
	
	srand(time(0));
	cout<<endl<<"现在学习/复习: "<<item[rand()%item.size()]<<endl<<endl; 
	system("pause");
	return 0;
}