CSP 2017-03
来源:互联网 发布:linux awk 分隔符 编辑:程序博客网 时间:2024/06/05 04:43
难道只能水前三题嘛QAQ…
随便写了一下前三题 1A
第四题写了一个基本的Dijkstra算法 不知道什么地方写错了 构造了一点样例也没有测出来
等我刷完水题再回来返工吧 mark一下
1.
#include<stdio.h>int main(){ int number; int count_number,count; int n,k; while(~scanf("%d %d",&n,&k)){ count = count_number = 0; while(n--){ scanf("%d",&number); if(number + count >= k){ count = 0; count_number++; }else count = count + number; } if(count != 0) count_number++; printf("%d\n",count_number); } return 0;}
2.
#include<stdio.h>void move(int , int);int local[1005];int index[1005];int main(){ int i; int n,N; int p,q; while(~scanf("%d",&n)){ for(i = 0; i < n; i++){ local[i] = i+1; index[i+1] = i; } scanf("%d",&N); while(N--){ scanf("%d %d",&p,&q); move(p,q); } printf("%d",local[0]); for(i = 1; i < n; i++) printf(" %d",local[i]); printf("\n"); } return 0;}void move(int p, int q){ int i; int localtion; localtion = index[p]; if(q > 0){ for(i = localtion; i < q + localtion; i++){ local[i] = local[i+1]; index[local[i]]--; } local[i] = p; index[p] = i; }else if(q < 0){ for(i = localtion; i > localtion + q; i--){ local[i] = local[i-1]; index[local[i]]++; } local[i] = p; index[p] = i; }}
3.
#include<stdio.h>#define BUF_SS 101int judge_rows(int );int index = 0;//index of buf_pint judge1;int judge2;char buf[101];char buf_p[101];/* type 1:hang 2:**/int main(){ int i; int type,count; int test; index = judge1 = judge2 = type = 0; while(fgets(buf, BUF_SS, stdin)){ if(buf[0] == '\n'){ if(type == 2){ printf("</ul>\n"); }else if(type == 1){ printf("%s</p>\n",buf_p); } type = 0; index = 0; continue; } if(buf[0] == '#'){ for(count = 0; buf[count] == '#'; count++); printf("<h%d>",count); for(i = count; buf[i] == ' '; i++); test = judge_rows(i); buf_p[index] = '\0'; printf("%s</h%d>\n",buf_p,count); index = 0; continue; } if(buf[0] == '*'){ if(type == 0) printf("<ul>\n"); type = 2;//** for(i = 1; buf[i] == ' '; i++); printf("<li>"); test = judge_rows(i); buf_p[index] = '\0'; printf("%s</li>\n",buf_p); index = 0; continue; } if(type == 0){ buf_p[index++] = '<'; buf_p[index++] = 'p'; buf_p[index++] = '>'; }else{ printf("%s\n",buf_p); index = 0; } test = judge_rows(0); buf_p[index] = '\0'; type = 1; } if(type != 0){ if(type == 2){ printf("</ul>\n"); }else if(type == 1){ printf("%s</p>\n",buf_p); } } return 0;}int judge_rows(int count){ int i,j; for(i = count; buf[i] != '\n'; i++){ if(buf[i] == '_'){ if(judge1 == 1){ judge1 = 0; return i; } buf_p[index++] = '<'; buf_p[index++] = 'e'; buf_p[index++] = 'm'; buf_p[index++] = '>'; judge1 = 1; i = judge_rows(i+1); buf_p[index++] = '<'; buf_p[index++] = '/'; buf_p[index++] = 'e'; buf_p[index++] = 'm'; buf_p[index++] = '>'; }else if(buf[i] == '['){ for(j = i+1; buf[j] != '('; j++); buf_p[index++] = '<'; buf_p[index++] = 'a'; buf_p[index++] = ' '; buf_p[index++] = 'h'; buf_p[index++] = 'r'; buf_p[index++] = 'e'; buf_p[index++] = 'f'; buf_p[index++] = '='; buf_p[index++] = '"'; j = judge_rows(j+1); buf_p[index++] = '"'; buf_p[index++] = '>'; i = judge_rows(i+1); buf_p[index++] = '<'; buf_p[index++] = '/'; buf_p[index++] = 'a'; buf_p[index++] = '>'; i = j; }else if(buf[i] == ')') return i; else if(buf[i] == ']') return i; else buf_p[index++] = buf[i]; }}
Emmmm..
打卡打卡…
虽然是大水怪 但还要继续努力啊
阅读全文
0 0
- CSP 2017-03
- CSP 2017-09
- csp 2017_3_3 markdown
- CSP
- CSP
- 2017/4/3 csp-Markdown
- csp-2017-3 分蛋糕
- csp-2017-3 学生排队
- CSP 2017_9_4 通信网络
- CCF-CSP-2017-3-1 分蛋糕
- CCF-CSP-2017-3-2 学生排队
- csp ccf 2017 3修地铁问题
- CSP 2015 03 04 网络延时 DFS BFS
- CSP review
- CSP++ 计划书
- 入手csp
- WEB CSP
- CSP路径
- Merge Two Binary Trees(leetcode)
- Java 可变参数
- 指针与地址
- 一组数排序
- sdnu1035找零钱
- CSP 2017-03
- 1.3创建一个主动套接字
- 51nod 1770 数数字 找规律,注意进位,时间复杂度O(n)
- 最小生成树———灌溉
- 关于一个简易的Html5音乐播放器的制作
- 15算法课程 107. Binary Tree Level Order Traversal II
- 汇编语言学习笔记(一)
- 素数环UVa524
- 使用需要的气象台站提取气象数据