hihocoder #1057
来源:互联网 发布:河北省软件企业 编辑:程序博客网 时间:2024/06/06 12:30
程序要满足
1、不能交叉,即一个程序要么完全包含在另一程序时间里面,要么互不相交
2、时间严格递增
#include<iostream> #include<map>#include<string.h> #include<algorithm> #include<fstream>#include<cmath> #include<vector>#include<stack>#include<map>#include<math.h>using namespace std; #define lch(i) ((i)<<1) #define rch(i) ((i)<<1|1) #define sqr(i) ((i)*(i)) #define pii pair<int,int> #define mp make_pair #define FOR(i,b,e) for(int i=b;i<=e;i++) #define FORE(i,b,e) for(int i=b;i>=e;i--) #define ms(a) memset(a,0,sizeof(a)) const int maxnum =20009;const int mod = 10007;int n,m;class Tstamp{public:int h,min,sec;Tstamp(){}Tstamp(int a,int b,int c):h(a),min(b),sec(c){}Tstamp(char a[9]){h=(a[0]-'0')*10+(a[1]-'0');min=(a[3]-'0')*10+(a[4]-'0');sec=(a[6]-'0')*10+(a[7]-'0');}void operator=(const Tstamp& a){h=a.h;min=a.min;sec=a.sec;}Tstamp& operator-=(const Tstamp& b){if(sec<b.sec){min-=1;sec+=60;}sec-=b.sec;if(min<b.min){h-=1;min+=60;}min-=b.min;h-=b.h;return *this;}};Tstamp operator-(Tstamp& a, Tstamp& b){return a-=b;}struct node{char name[256];Tstamp st,exi;node(){}node(char t[9]):st(t){}}pro[maxnum];node *pos,*root;map<string,node*> p2node;stack<string> stamp;int main() { #ifdef _DEBUG_fstream fin("G:/1.txt");#else#define fin cin#endiffin>>n;char name[256],timestamp[9],action[6];bool flag=0;int last = 0,now;root = new node;pos=root;int pronum=0;FOR(i,1,n){fin>>name>>timestamp>>action;if(flag)continue;now=((timestamp[0]-'0')*10+(timestamp[1]-'0'))*3600+((timestamp[3]-'0')*10+(timestamp[4]-'0'))*60+(timestamp[6]-'0')*10+(timestamp[7]-'0');if(now<last){flag=1;continue;}last=now;if(action[0]=='S'){if(p2node[name]!=0){flag=1;continue;}pro[++pronum].st=timestamp;strcpy(pro[pronum].name,name);stamp.push(name);p2node[name]=&pro[pronum];}if(action[0]=='E'){if(stamp.empty()){flag=1;continue;}string last= stamp.top();stamp.pop();if(strcmp(last.c_str(),name)!=0){flag=1;continue;}p2node[last]->exi=Tstamp(timestamp)-p2node[last]->st;}}if(!stamp.empty()||flag)printf("Incorrect performance log\n");else{FOR(i,1,pronum){printf("%s %02d:%02d:%02d\n",pro[i].name,pro[i].exi.h,pro[i].exi.min,pro[i].exi.sec);}}return 0; }
0 0
- hihocoder #1057
- hihocoder 1057 : Performance Log
- hihocoder 1057 : Performance Log
- hihoCoder #1057 : Performance Log
- hihocoder:
- hihoCoder
- Hihocoder
- hihocoder
- hihocoder
- hihocoder
- hihocoder
- hihocoder
- HihoCoder
- HihoCoder
- HihoCoder
- HihoCoder
- HihoCoder
- HihoCoder
- Python——获取电脑信息
- 深入JVM类加载机制
- 第三章:基于第二章的HIVE搭建实验
- XML的DTD的规则的介绍
- 开发 openwebrtc 应用
- hihocoder #1057
- Asp.net根据IP显示省市拼音源码
- PowerDesigner中name和comment互换
- LIKE,CHARINDEX,IN,EXISTS 效率分析汇总(补充中)
- TextField和TextView字数超出截取问题
- 带进度条的JFrame
- 论制造业的报表开发项目需求
- Python——获取进程信息
- Terminal指令介绍