c/c++
千年暗室 一灯即明
这个作者很懒,什么都没留下…
展开
-
201703-3 Markdown(50分)
50(卒)最烦这种字符处理了#include<iostream>#include<vector>#include<string>using namespace std;int hx[8]={0,1,2,3,4,5,6};string checkHeight(string s){ int t=-1; t=s.find_first_of("_"); if(t==-1){ ; }else{ s.erase(s.begin()+t,s.begi原创 2020-08-23 23:52:50 · 130 阅读 · 0 评论 -
201703-2 学生排队
#include<iostream>using namespace std;int main(){ int n; cin>>n; int a[n+3][2]={0};//用一个数组来实现循环双向链表,下标正好是学号,a[0]做头结点 for(int i=1;i<n;i++){ a[i][0]=i-1;//初始,每个学生i的前一个为i-1,后一个为i+1 a[i][1]=i+1; } a[0][0]=n;//头结点和最后一个同学的初始值单独处理原创 2020-08-23 21:29:14 · 237 阅读 · 0 评论 -
201503-3 节日[40]
不知道哪里错了#include<iostream>using namespace std;// 求某天是周几string name[10] = { "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday" };int a,b,c,y1,y2;int month1[15]={0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int month2[1原创 2020-08-22 23:31:55 · 86 阅读 · 0 评论 -
201412-2 Z字形扫描
#include<iostream>using namespace std;#define N 502int a[N][N]={0};int x=1,y=1;int n;int p=0;int how[4]={1,2,3,4};void print(){ cout<<"==============|"<<endl; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cout&l原创 2020-08-22 22:09:34 · 238 阅读 · 0 评论 -
201412-1 门禁系统
#include<iostream>using namespace std;#define N 1003int a[N]={0};int main(){ int n; cin>>n; int x; for(int i=0;i<n;i++){ cin>>x; a[x]++; cout<<a[x]; if(i!=n-1){ cout<<" "; } } return 0;} 试题编号:原创 2020-08-22 21:06:10 · 96 阅读 · 0 评论 -
201409-2画图
#include<iostream>using namespace std;#define N 102int a[N][N]={0};int main(){ int n; cin>>n; int x1,y1,x2,y2; for(int i=0;i<n;i++){ cin>>x1>>y1>>x2>>y2; for(int j=x1;j<x2;j++){ for(int k=y1;k<原创 2020-08-21 22:41:20 · 136 阅读 · 0 评论 -
201409-1相邻数对
#include<iostream>using namespace std;#define N 10003int main(){ int n; cin>>n; int a[N]={0}; int x=0; for(int i=0;i<n;i++){ cin>>x; a[x]=1; } int flag=0; int ans=0; for(int i=1;i<N;i++){ if(a[i]){ flag++;原创 2020-08-21 22:33:00 · 114 阅读 · 0 评论 -
201409-3 字符串匹配
#include<iostream>#include<regex>#include<string>using namespace std;int main(){ string s; cin>>s; int x; cin>>x; int n; cin>>n; regex e; s="(.*)"+s+"(.*)"; if(x>0){ e=regex(s); }else{ e=regex(s, re原创 2020-08-21 01:04:15 · 87 阅读 · 0 评论 -
201403-2 试题名称: 窗口
用了数组实现链表,有点难理解,调试了半天,尤其那个窗口是从底层到上层录入的#include<iostream>using namespace std;#define N 11#define M 11struct node{ int x1=0,y1=0,x2=0,y2=0; };int a[N]={0};node nodes[N];node nodest[N];int main(){ int n,m; cin>>n>>m; int x=0,原创 2020-08-20 22:55:15 · 267 阅读 · 0 评论 -
201312-2ISBN号码
很简单吧。。却写了70分,不想再找错了有空了再说吧(会有空吗?卒)#include<iostream>#include<string>using namespace std;int main(){ string s; cin>>s; string res=""; int wei=1; int count=0; for(int i=0;i<s.size();i++){ if(s[i]=='-') continue; else{原创 2020-08-19 23:35:30 · 104 阅读 · 0 评论 -
向量(熊岳山-数据结构与算法)
#ifndef _Vector_H#include<stdlib.h>#include<stdio.h>enum boolean{FALSE,TRUE};#define ElementType inttypedef enum boolean Bool;struct vector{ ElementType * elements; int ArraySize; int VectorLength;};typedef struct vector Vector;voi原创 2020-08-19 23:28:54 · 1008 阅读 · 0 评论 -
201809-4再卖菜【详细注释】
#include<iostream>using namespace std;//整体来看,我的想法是指针(下标)i由0~n-1,指针指向某个元素时,本次计算它的下一个元素i+1的值,并判断是否合法,合法则继续递归 #define N 302int ave[N]={0};int ans[N]={0};int n;int flag=0;//这个flag主要用于标志function函数返回是以找到返回还是error返回,情急使用,应该可用函数返回值替代吧。 int f[N][N+5]原创 2020-08-19 00:09:56 · 239 阅读 · 0 评论 -
202006-2 稀疏向量(100分)
运行超时,我还觉着挺快啊难道是map.find()函数?#include<iostream>#include<map>using namespace std;int main(){ int n, a, b; cin>>n>>a>>b; long long ans=0; map<int ,int> m; int x,y; for(int i=0;i<a;i++){ cin>>x>>原创 2020-07-24 17:36:22 · 907 阅读 · 4 评论 -
Visual Studio 代码格式化插件(等号自动对齐、注释自动对齐等)
Code alignmentCode alignment for Visual StudioCode alignment is the practice of formatting your code vertically to improve readability.Based on principles borrowed from mathematics and other discip...原创 2020-04-29 13:37:18 · 3184 阅读 · 0 评论 -
【详细注释】201912-3 化学方程式<STL>
100分,两天才做出来。。。T_T有好的方法一定要喊我,教教我一定要读懂题先这个和编译原理中的词法分析语法分析来着?很像。真棒写的有点多,但终于还是搞明白了我觉得最重要的是那个脱括号的操作。#include <iostream>#include <string>#include <cstring>#include <vector>...原创 2020-04-01 23:07:58 · 246 阅读 · 0 评论 -
201912-2 回收站选址(STL)
当初提交时出错,乱投医,把int都改成了longlong,可能不需要,没都改回来。出错了要好好找,编程复制代码记得要把所有变化的内容都更新。很多次已复制就要错,忘了修改变化内容。#include <iostream>#include <set>#include <utility>using namespace std;typedef long l...原创 2020-03-26 13:49:59 · 237 阅读 · 0 评论 -
201912-1报数
#include <iostream>using namespace std;bool check(int number){ bool flag = false; while (number) { if (number % 10 == 7) flag = true; number /= 10; } return flag;}int main()...原创 2020-03-26 10:18:24 · 111 阅读 · 0 评论 -
【详细注释】201709-4 通信网络<DFS>
本题中对每个点进行一次dfs该次dfs对与该点互知的点进行标记**(收到信息和接收信息均可知道对方存在)**最后查看每个点是否知道每个点的存在刚开始,也是对每个点dfs,但每次只是将所能到达的点计数,已经到达过的点就跳过;另外做一个长度为n的数组,对于本次dfs到达的点,让该点在这个数组中的数加一,也就是说,该数组[i]表示能到第i个点的数量这样就去往某点和到达某点分开判断但是会重复...原创 2020-03-06 16:09:05 · 218 阅读 · 0 评论 -
【详细注释】201403-4 无线网络
刚开始题都没看懂,画的不太好,勉强帮助理解#include<iostream>#include<cstdio>#include<queue>#include<vector>using namespace std;// 看我注释写的要比代码多,先立个flagconst int N = 100 + 2;// 结点最多有100int n...原创 2020-03-05 23:56:40 · 117 阅读 · 0 评论 -
四分树( Quadtrees, UVa 297)
如图6-8所示, 可以用四分树来表示一个黑白图像, 方法是用根结点表示整幅图像, 然后把行列各分成两等分, 按照图中的方式编号, 从左到右对应4个子结点。 如果某子结点对应的区域全黑或者全白, 则直接用一个黑结点或者白结点表示; 如果既有黑又有白, 则用一个灰结点表示, 并且为这个区域递归建树。给出两棵四分树的先序遍历, 求二者合并之后( 黑色部分合并) 黑色像素的个数。 p表示中间结点, f...原创 2020-02-25 21:35:53 · 659 阅读 · 0 评论 -
例题6-10 下落的树叶( The Falling Leaves, UVa 699)
给一棵二叉树, 每个结点都有一个水平位置: 左子结点在它左边1个单位, 右子结点在右边1个单位。 从左向右输出每个水平位置的所有结点的权值之和。 如图6-7所示, 从左到右的3个位置的权和分别为7, 11, 3。 按照递归( 先序)方式输入, 用-1表示空树。样例输入:5 7 -1 6 -1 -1 3 -1 -18 2 9 -1 -1 6 5 -1 -1 12 -1 -1 3 7 -1 -1...原创 2020-02-25 21:12:58 · 227 阅读 · 0 评论 -
树( Tree, UVa 548)
给一棵点带权( 权值各不相同, 都是小于10000的正整数) 的二叉树的中序和后序遍历, 找一个叶子使得它到根的路径上的权和最小。 如果有多解, 该叶子本身的权应尽量小。输入中每两行表示一棵树, 其中第一行为中序遍历, 第二行为后序遍历。#include"pch.h"#include<iostream>#include<vector>#include<qu...原创 2020-02-22 22:25:34 · 130 阅读 · 0 评论 -
小球下落( Dropping Balls, UVa 679)
二叉树最大结点个数和层数的关系有一棵二叉树, 最大深度为D, 且所有叶子的深度都相同。 所有结点从上到下从左到右编号为1, 2, 3,…, 2D-1。 在结点1处放一个小球, 它会往下落。 每个内结点上都有一个开关,初始全部关闭, 当每次有小球落到一个开关上时, 状态都会改变。 当小球到达一个内结点时, 如果该结点上的开关关闭, 则往左走, 否则往右走, 直到走到叶子结点, 如图所示。一些小...原创 2020-02-16 22:07:13 · 367 阅读 · 0 评论 -
破损的键盘( 又名: 悲剧文本) ( Broken Keyboard( a.k.a. Beiju Text) , UVa 11988)
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn = 100000 + 5;int last, cur;int next1[maxn];// 光标位于cur号字符的后面char s[maxn];int main() { wh...原创 2020-02-14 17:14:57 · 230 阅读 · 0 评论 -
矩阵链乘( Matrix Chain Multiplication, UVa 442)
#include"pch.h"#include<iostream>#include<stack>#include<cstdio>#include<string>using namespace std;struct Matrix { int a, b; Matrix(int a = 0,int b=0):a(a),b(b){}}m[...原创 2020-02-14 16:51:31 · 102 阅读 · 0 评论 -
铁轨( Rails, ACM/ICPC CERC 1997, UVa 514)
照抄不知道对不对#include<iostream>#include<stack>#include<cstdio>using namespace std;const int MAXN = 1000 + 10;int n, target[MAXN];int main() { while (scanf("%d", &n) == 1) {...原创 2020-02-14 16:37:20 · 155 阅读 · 0 评论