Cardiogram CodeForces
来源:互联网 发布:java 封装规则 编辑:程序博客网 时间:2024/06/05 00:15
题意:已知心电图的几个拐点(心电图是折现构成的),要求你用/和\代表斜线输出心电图
思路:模拟。SORT一下坐标x。比较麻烦的就是 x,y轴 你怎么给应用到一个 二维数组 里来。对于这个情况,我们需要把坐标原点给搞到一个合适的地方。然后注意一下输出。还是看代码把,解释很麻烦。
数据分析: 不分析,没什么特别的数据
复杂度分析:不分析,没什么特别的地方
错误分析:空格没输出对。对于空格,你可以先把空格用1输出,然后看看空格的情况和题目要求是不是一致
#include <bits/stdc++.h>using namespace std;typedef long long ll;int a[1500];int ans=0;int pre1[2000];int pre2[2000];char mp[1500][1500];int sy=0;struct node{ int x,y;}p[2000];bool cmp(const node a,const node b){ return a.x < b.x;}int main(void){ int n; cin >> n; for(int i=1;i<=n;i++) { int t; scanf("%d",&a[i]); pre1[i]+=pre1[i-1]+a[i]; if(i%2==0) t=-a[i]; else t=a[i]; pre2[i]+=pre2[i-1]+t; //cout << pre2[i] << endl; } p[0].x=p[0].y=0; for(int i=1;i<=n;i++) { p[i].x=pre1[i]; p[i].y=pre2[i]; } sort(p,p+n+1,cmp); // 对x进行排序 /*for(int i=0;i<=n;i++) printf("%d %d\n",p[i].x,p[i].y);*/ int miny=INT_MAX,maxy=INT_MIN; for(int i=0;i<=n;i++)// 找出Y坐标相差的最大值 { miny=min(miny,p[i].y); maxy=max(maxy,p[i].y); } sy+=maxy+(-miny);// 确定起点sy当时输错了,把sy当做sx把 //printf("%d %d \n",miny ,maxy); //对于每个点,我们根据sx的位置,进行移动 for(int i=0;i<=n;i++) { p[i].y=sy-(p[i].y+(-miny)); } for(int i=0;i<=n-1;i++) // 取点 { int x1,x2,y1,y2; x1=p[i].x; x2=p[i+1].x; y1=p[i].y; y2=p[i+1].y; if(y1>y2)// 判断y的关系,确定用/还是\ { x1++,y1--; while(x1<=x2) { mp[x1][y1+1]=47; // 注意一下是y1+1 x1++,y1--; } } else if(y1<y2) { x1++,y1++; while(x1<=x2) { mp[x1][y1]=92; x1++,y1++; } } } for(int i=1;i<=sy;i++) { for(int j=1;j<=pre1[n];j++) { if(mp[j][i]==47) //输出注意一下是mp[j][i] printf("%c",47); else if(mp[j][i]==92) printf("%c",92); else printf(" "); } puts(""); }}
阅读全文
0 0
- Cardiogram CodeForces
- Codeforces 435C Cardiogram
- Codeforces 435C. Cardiogram
- CodeForces 435C Cardiogram
- Codeforces 435C Cardiogram
- Codeforces Round #249 (Div. 2)C. Cardiogram
- Codeforces Round #249 (Div. 2)453C Cardiogram(模拟)
- cf435C Cardiogram
- C. Cardiogram
- codeforces~~~
- Codeforces
- codeforces
- Codeforces
- codeforces
- codeforces
- Codeforces
- Codeforces
- CodeForces
- 利用Struts2实现文件的上传
- VI编辑器的使用
- UVA1220PartyAtHailBula
- 百练3723:围棋题解
- SQL 基础语句大全
- Cardiogram CodeForces
- 完美的代价
- 使用Google Analytics跟踪捕获JavaScript,AngularJS,jQuery的在线错误和异常
- python遇到的问题与解决
- 关于寻路算法的一些思考(4):A* 算法的变体
- [MM] 地牢生成算法@2
- TCP,UDP.HTTP,HTTPS(下)
- 关于别名现象
- 聚类有效性检验(Hubert'Γ )