#include <bits/stdc++.h>
using namespace std;
#define fo(i,s,t) for(int i = s; i <= t; ++ i)
#define fd(i,s,t) for(int i = s; i >= t; -- i)
#define bf(i,s) for(int i = head[s]; i; i = e[i].next)
#define mp make_pair
#define fi first
#define se second
#define pii pair<int,int>
#define pb push_back
#define VI vector<int>
#define sf scanf
#define pf printf
#define fp freopen
#define SZ(x) ((int)(x).size())
#ifdef MPS
#define D(x...) printf(x)
#else
#define D(x...)
#endif
typedef long long ll;
typedef double db;
typedef unsigned long long ull;
const int inf = 1<<30;
const ll INF = 1ll<<60;
const db Inf = 1e20;
const db eps = 1e-9;
void gmax(int &a,int b){a = (a > b ? a : b);}
void gmin(int &a,int b){a = (a < b ? a : b);}
const int maxn = 310;
char str[100][maxn];
int a[maxn], b[maxn], c[maxn], d[maxn];
int aa[maxn], bb[maxn], cc[maxn], dd[maxn];
int v;
bool g[maxn];
void output(int x, int dig)
{
if(dig == 2)
{
if(x < 10) pf("0%d",x);
else pf("%d",x);
}
else
{
if(x < 10) pf("00%d",x);
else if(x <100) pf("0%d",x);
else pf("%d",x);
}
}
int main()
{
#ifdef MPS
fp("1.in","r",stdin);
fp("1.out","w",stdout);
#endif
bool tag = false;
int m = 0;
fo(t,1,100)
{
++ m;
gets(str[t]+1);
if(str[t][3] == ':')
{
g[m] = true;
a[t] = (str[t][1]-'0')*10+str[t][2]-'0';
b[t] = (str[t][4]-'0')*10+str[t][5]-'0';
c[t] = (str[t][7]-'0')*10+str[t][8]-'0';
d[t] = ((str[t][10]-'0')*10+str[t][11]-'0')*10+str[t][12]-'0';
aa[t] = (str[t][1+17]-'0')*10+str[t][2+17]-'0';
bb[t] = (str[t][4+17]-'0')*10+str[t][5+17]-'0';
cc[t] = (str[t][7+17]-'0')*10+str[t][8+17]-'0';
dd[t] = ((str[t][10+17]-'0')*10+str[t][11+17]-'0')*10+str[t][12+17]-'0';
}
if(tag)
{
int s, f, n = strlen(str[t]+1);
if(str[t][1] == '-') s = 2, f = -1; else s = 1, f = 1;
fo(i,s,n)
{
v = v * 10 + str[t][i] - '0';
}
v *= f;
break;
}
if(str[t][1] == '#') tag = true;
}
fo(i,1,m-1)
{
if(!g[i]) puts(str[i]+1);
else
{
if(v < 0)
{
fo(x,1,-v)
{
d[i] --;
if(d[i] == -1)
{
d[i] = 999;
c[i] --;
if(c[i] == -1)
{
c[i] = 59;
b[i] --;
if(b[i] == -1)
{
b[i] = 59;
a[i] --;
}
}
}
dd[i] --;
if(dd[i] == -1)
{
dd[i] = 999;
cc[i] --;
if(cc[i] == -1)
{
cc[i] = 59;
bb[i] --;
if(bb[i] == -1)
{
bb[i] = 59;
aa[i] --;
}
}
}
}
}
else
{
d[i] += v;
int t = d[i]/1000; d[i] %= 1000;
c[i] += t; t = c[i]/60; c[i] %= 60;
b[i] += t; t = b[i]/60; b[i] %= 60;
a[i] += t;
dd[i] += v; t = dd[i]/1000; dd[i] %= 1000;
cc[i] += t; t = cc[i]/60; cc[i]%=60;
bb[i] += t; t = bb[i]/60; bb[i]%=60;
aa[i] += t; t = aa[i]/60; aa[i]%=60;
}
output(a[i],2); pf(":");
output(b[i],2); pf(":");
output(c[i],2); pf(",");
output(d[i],3); pf(" --> ");
output(aa[i],2); pf(":");
output(bb[i],2); pf(":");
output(cc[i],2); pf(",");
output(dd[i],3); pf("\n");
}
}
return 0;
}
Compilation message
titlovi.cpp: In function 'int main()':
titlovi.cpp:66:16: warning: 'char* gets(char*)' is deprecated [-Wdeprecated-declarations]
gets(str[t]+1);
^
In file included from /usr/include/c++/7/cstdio:42:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:46,
from titlovi.cpp:1:
/usr/include/stdio.h:638:14: note: declared here
extern char *gets (char *__s) __wur __attribute_deprecated__;
^~~~
titlovi.cpp:66:7: warning: ignoring return value of 'char* gets(char*)', declared with attribute warn_unused_result [-Wunused-result]
gets(str[t]+1);
~~~~^~~~~~~~~~
/tmp/ccCfNYBM.o: In function `main':
titlovi.cpp:(.text.startup+0x4d): warning: the `gets' function is dangerous and should not be used.
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
376 KB |
Output is correct |
2 |
Correct |
2 ms |
376 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Correct |
2 ms |
376 KB |
Output is correct |