欢迎来到就算过了一载春秋的博客

不管过了几载春秋,我还是会偶尔想起。

Codeforces Round #578 (Div. 2)(A、B、C、D、E)

 

A、Hotelier

简单模拟

 1 #include<iostream>
 2 #include<sstream>
 3 #include<fstream>
 4 #include<algorithm>
 5 #include<cstring>
 6 #include<iomanip>
 7 #include<cstdlib>
 8 #include<cctype>
 9 #include<vector>
10 #include<string>
11 #include<cmath>
12 #include<ctime>
13 #include<stack>
14 #include<queue>
15 #include<map>
16 #include<set>
17 #define mem(a,b) memset(a,b,sizeof(a))
18 #define random(a,b) (rand()%(b-a+1)+a)
19 #define ll long long
20 #define ull unsigned long long
21 #define e 2.71828182
22 #define Pi acos(-1.0)
23 #define ls(rt) (rt<<1)
24 #define rs(rt) (rt<<1|1)
25 #define lowbit(x) (x&(-x))
26 using namespace std;
27 int read()
28 {
29     int s=1,x=0;
30     char ch=getchar();
31     while(!isdigit(ch)) {if(ch=='-') s=-1;ch=getchar();}
32     while(isdigit(ch)) {x=10*x+ch-'0';ch=getchar();}
33     return x*s;
34 }
35 int main()
36 {
37     int n=read();
38     vector<int> room(10,0);
39     string str;cin>>str;
40     for(int i=0;i<n;++i)
41     {
42         
43         if(str[i]=='L')
44             *find(room.begin(),room.end(),0)=1;
45         else if(str[i]=='R') 
46             *find(room.rbegin(),room.rend(),0)=1;
47         else     
48             room[str[i]-'0']=0;
49     }
50     for(int i=0;i<10;++i)
51     cout<<room[i];
52 }
View Code

 

B、Block Adventure

包的容积是无限的话就很好做,存砖块存的越多越好呗,能存就存,用的时候不够就No。

 1 #include<iostream>
 2 #include<sstream>
 3 #include<fstream>
 4 #include<algorithm>
 5 #include<cstring>
 6 #include<iomanip>
 7 #include<cstdlib>
 8 #include<cctype>
 9 #include<vector>
10 #include<string>
11 #include<cmath>
12 #include<ctime>
13 #include<stack>
14 #include<queue>
15 #include<map>
16 #include<set>
17 #define mem(a,b) memset(a,b,sizeof(a))
18 #define random(a,b) (rand()%(b-a+1)+a)
19 #define ll long long
20 #define ull unsigned long long
21 #define e 2.71828182
22 #define Pi acos(-1.0)
23 #define ls(rt) (rt<<1)
24 #define rs(rt) (rt<<1|1)
25 #define lowbit(x) (x&(-x))
26 using namespace std;
27 const int MAXN=105;
28 int a[MAXN],n,m,k;
29 int read()
30 {
31     int s=1,x=0;
32     char ch=getchar();
33     while(!isdigit(ch)) {if(ch=='-') s=-1;ch=getchar();}
34     while(isdigit(ch)) {x=10*x+ch-'0';ch=getchar();}
35     return x*s;
36 }
37 bool solve()
38 {
39     for(int i=2;i<=n;++i)
40     {
41         if(a[i]-a[i-1]>k)
42         {
43             if(m<a[i]-a[i-1]-k) return false;
44             else m-=(a[i]-a[i-1]-k);
45         }
46         else m+=min(0,k-a[i])+a[i-1];
47     }
48     return true;
49 }
50 int main()
51 {
52     int t=read();
53     while(t--)
54     {
55         n=read(),m=read(),k=read();
56         for(int i=1;i<=n;++i) a[i]=read();
57         if(solve()) cout<<"YES\n";
58         else cout<<"NO\n";
59     }
60     return 0;
61 }
View Code

 

C、Round Corridor

找出n和m的最大公因数,对n和m进行约分后,每n个内块和m个外块是连通的。

 1 #include<iostream>
 2 #include<sstream>
 3 #include<fstream>
 4 #include<algorithm>
 5 #include<cstring>
 6 #include<iomanip>
 7 #include<cstdlib>
 8 #include<cctype>
 9 #include<vector>
10 #include<string>
11 #include<cmath>
12 #include<ctime>
13 #include<stack>
14 #include<queue>
15 #include<map>
16 #include<set>
17 #define mem(a,b) memset(a,b,sizeof(a))
18 #define random(a,b) (rand()%(b-a+1)+a)
19 #define ll long long
20 #define ull unsigned long long
21 #define e 2.71828182
22 #define Pi acos(-1.0)
23 #define ls(rt) (rt<<1)
24 #define rs(rt) (rt<<1|1)
25 #define lowbit(x) (x&(-x))
26 using namespace std;
27 ll read()
28 {
29     ll s=1,x=0;
30     char ch=getchar();
31     while(!isdigit(ch)) {if(ch=='-') s=-1;ch=getchar();}
32     while(isdigit(ch)) {x=10*x+ch-'0';ch=getchar();}
33     return x*s;
34 }
35 int main()
36 {
37     ll n=read(),m=read(),q=read();
38     ll tmp=__gcd(n,m);
39     n/=tmp,m/=tmp;
40     ll x1,y1,x2,y2;
41     while(q--)
42     {
43         x1=read(),y1=read()-1,x2=read(),y2=read()-1;
44         if(x1==1) y1/=n;
45         else y1/=m;
46         if(x2==1) y2/=n;
47         else y2/=m;
48         if(y1==y2) cout<<"YES\n";
49         else cout<<"NO\n";
50     }
51     return 0;
52 }
View Code

 

D、White Lines

较为详细地记录在了CSDN上

 https://blog.csdn.net/qq_40889820/article/details/99430740

 

E、Compress Words

 KMP的题,最近做得少,补一些题再补代码

posted on 2019-08-13 21:57  就算过了一载春秋  阅读(156)  评论(0)    收藏  举报

导航