![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法竞赛入门经典
文章平均质量分 56
dherorunner
光电信息科学专业,有志考研计算机。
展开
-
开灯问题
#include #include #define maxn 1010int a[maxn];int main(){ memset(a,0,sizeof(a)); int n,k; scanf("%d%d",&n,&k); for(int i=1;i<=n;i++) a[i]=1; for (int i=2;i<=k;i++)原创 2017-02-28 19:39:43 · 294 阅读 · 0 评论 -
习题4-2 正方形
//注意输出格式#include #include #include #include #include #include #define maxn 100010using namespace std;void process(int n,int problemnumber){ //先对每个点是否存在先左或向下的边做标记 vector>> s; vecto原创 2017-03-06 17:25:48 · 441 阅读 · 0 评论 -
习题 4-8 特别困的学生 uva12108
#include #include #include using namespace std;vector students,temp;//1代表睡觉vector Avector,Bvector,Cvector;bool initial(){ int n; cin>>n; if(!n) return 0; else {原创 2017-03-09 22:58:41 · 257 阅读 · 0 评论 -
习题4-5 IP网络 UVa 1590
#include #include #include #include #include using namespace std;string binary(const unsigned int val,string s){ for(int i = 7; i >= 0; i--) { if(val & (1 << i)) s.p原创 2017-03-10 19:27:49 · 283 阅读 · 0 评论 -
例题 5-5 集合栈计算机 Uva 12096
#include #include #include #include #include #include #include using namespace std;const int maxn=10000;typedef set Set;map IDcache;vector Setcache;#define ALL(x) x.begin(),x.end()#define原创 2017-03-11 17:28:20 · 314 阅读 · 0 评论 -
例题5-6 团体队列 Uva540
#include #include #include using namespace std;const int maxt=1000+10;int main(){ int t,kase=0; while(scanf("%d",&t)==1&&t) { printf("Scenario #%d\n",++kase); map tea原创 2017-03-11 19:14:37 · 224 阅读 · 0 评论 -
习题5-6 对称轴 UVA1595
#include #include #include using namespace std;const int MAX=100000000;//用一个vector到int的字典来存储所有的点,y值作为Key,相同y值的点被存入同一个vector里。//判断时,先计算第一个key值下的所有数的平均值,然后将之后的Key值下的平均值与它比较,只要有一个不相同则输出NO。/原创 2017-03-22 21:08:33 · 245 阅读 · 0 评论 -
ducci序列 Uva1594
#include #include #include #include using namespace std;int main(){ int N;//问题数 cin>>N; while(N--) { int number;//数字的数量 cin>>number; vectorin原创 2017-03-22 21:39:13 · 363 阅读 · 0 评论 -
大数加法
#include#include#include#include#include #include using namespace std;struct BigInteger { static const int BASE = 100000000; static const int WIDTH = 8; vectorint> s; Big原创 2017-03-15 23:12:54 · 195 阅读 · 0 评论 -
习题4-4 骰子涂色
#include #include #include #include #include #include #define maxn 100010using namespace std;//一共9种可能的旋转方式//竖直轴顺时针90string turn1(string a){ string b=a; b[4]=a[2]; b[2]=a[3];原创 2017-03-05 21:38:58 · 416 阅读 · 0 评论 -
习题 4-1 象棋
#include #include #include #include #include #include #define maxn 100010using namespace std;int Gx,Gy,Rx,Ry,Hx,Hy,Cx,Cy;void printChessboard(int chessboard[][11],int m=11,int n=11){ for原创 2017-03-05 19:37:56 · 477 阅读 · 0 评论 -
例题4-2 刽子手游戏
#include #include #include #include #include #include #define maxn 100010using namespace std;int main(){ int number; string word; string guess; while(cin>>number>>word>>guess原创 2017-03-04 18:19:25 · 359 阅读 · 0 评论 -
第三章例题 回文词与镜像词
#include #include #define maxn 100char s[maxn];int main(){ //输入一个字符串s memset(s,' ',sizeof(s)); while(scanf("%s",s)==1) { //判断它是否为回文串 //倒序字符串判断两字符串是否相等即可 //原创 2017-02-28 20:45:51 · 288 阅读 · 0 评论 -
第三章例题 最小生成元(逐位的写法)
#include #include /* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char** argv) { //输入n int n=0; scanf("%d",&n); //暴力查找符原创 2017-03-01 16:29:22 · 569 阅读 · 0 评论 -
习题3-1 score
#include #include #define maxn 81char s[maxn];int main(){ //input n int n=0; scanf("%d",&n); //input n times for(int i=0;i<n;i++) { scanf("%s",s); int len=原创 2017-03-01 21:33:32 · 301 阅读 · 0 评论 -
习题3-2 分子量(字符+数字)
#include #include #define maxn 81char s[maxn];int main(){ int t; scanf("%d",&t); for(int i=0;i<t;i++) { scanf("%s",s); int len=strlen(s); double tempmass=0原创 2017-03-01 23:32:26 · 344 阅读 · 0 评论 -
习题3-3 数数字
#include #include int main(){ int m; scanf("%d",&m); for(int times=0;times<m;times++)//题目要求一般都是要输入好几个数字 { int counts[10]={0,0,0,0,0,0,0,0,0,0}; char numbers[6];原创 2017-03-02 20:18:28 · 527 阅读 · 0 评论 -
习题3-4 周期串
1.周期的表达方式 %取余2.每两个输出间空行 while(n--) if(n) printf("\n")#include #include #define maxn 81char s[maxn];int main(){ int n; scanf("%d",&n); int first=1; while(n--) {原创 2017-03-02 21:45:33 · 325 阅读 · 0 评论 -
习题3-5 puzzle
吐个槽,这题真是各种坑。#include #include #include #include #include using namespace std;int main(){ vector puzzle; string temp; int count=1; outside: puzzle.clear();// while(getline(ci原创 2017-03-03 19:38:13 · 220 阅读 · 0 评论 -
习题 3-9 子序列
这个只写了判断一次的程序,没有加多次输入的循环。思想就是先在B序列里找A[0]对应的字母,找到后(找不到输出not,中断循环)标记这个位置,下个对应的字母必须从这个位置之后找才有效,以此类推。用了标准库里面的find函数,记得加头文件。#include #include #include #include #include #include #define maxn 100010us原创 2017-03-03 21:05:21 · 319 阅读 · 0 评论 -
习题3-11 换低档装置
同样没写重复多次输入的那层循环。#include #include #include #include #include #include #define maxn 100010using namespace std;int main(){ string A,B; cin>>A>>B; A.push_back('0');//短数组最终移动出长数组才原创 2017-03-03 22:02:35 · 447 阅读 · 0 评论 -
大数乘法(套用紫书数据结构,时间花费长无法AC)
#include#include#include#include#include #include #include using namespace std;struct BigInteger { static const int BASE = 100000000; static const int WIDTH = 8; vector s; BigInteger原创 2017-03-16 23:29:24 · 378 阅读 · 0 评论