生活随笔
收集整理的這篇文章主要介紹了
Codeforces Round #650 (Div. 3)(A-C)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Short Substrings CodeForces - 1367A
思路:除了第一位和最后一位之外,剩下的兩個(gè)之中取一個(gè)就行。
代碼如下:
#include<bits/stdc++.h>
#define ll long long
using namespace std
;const int maxx
=1e5+100;
string a
,b
;int main()
{int t
;scanf("%d",&t
);while(t
--){a
="";b
="";cin
>>a
;b
+=a
[0];for(int i
=1;i
<a
.length()-1;i
+=2) b
+=a
[i
];b
+=a
[a
.length()-1];cout
<<b
<<endl
;}return 0;
}
Even Array CodeForces - 1367B
思路:如果說奇偶數(shù)和位置的奇偶數(shù)不一致的話,就輸出-1,。否則統(tǒng)計(jì)有多少個(gè)位置不一致,除以2就行。
代碼如下:
#include<bits/stdc++.h>
#define ll long long
using namespace std
;const int maxx
=50;
int a
[maxx
];
int n
;int main()
{int t
;scanf("%d",&t
);while(t
--){scanf("%d",&n
);int sumj
=0,sumo
=0;for(int i
=0;i
<n
;i
++) {scanf("%d",&a
[i
]);if(a
[i
]&1) sumj
++;else sumo
++;}if(sumo
!=(n
+1)/2||sumj
!=n
/2) cout
<<-1<<endl
;else{int cnt
=0;for(int i
=0;i
<n
;i
++){if(i
%2==a
[i
]%2) continue;else cnt
++;}cout
<<(cnt
>>1)<<endl
;}}return 0;
}
Social Distance CodeForces - 1367C
思路:分別統(tǒng)計(jì)一下“1”的個(gè)數(shù)的前綴和以及后綴和。然后從頭開始遍歷,如果這[i-k-1,i-1]以及[i+1,i+k+1]中沒有“1”的話,就放置一個(gè)“1”。
代碼如下:
#include<bits/stdc++.h>
#define ll long long
using namespace std
;const int maxx
=2e5+100;
int suml
[maxx
],sumr
[maxx
];
char s
[maxx
];
int n
,k
;int main()
{int t
;scanf("%d",&t
);while(t
--){scanf("%d%d",&n
,&k
);cin
>>(s
+1);suml
[0]=0;for(int i
=1;i
<=n
;i
++) suml
[i
]=suml
[i
-1]+(s
[i
]=='1');sumr
[n
+1]=0;for(int i
=n
;i
>=1;i
--) sumr
[i
]=sumr
[i
+1]+(s
[i
]=='1');int cnt
=0;for(int i
=1;i
<=n
;){if(s
[i
]=='1') i
++;else {if(suml
[i
-1]-suml
[max(i
-k
-1,0)]==0&&sumr
[i
+1]-sumr
[min(i
+k
+1,n
+1)]==0) cnt
++,i
=i
+k
+1;else i
++;}}cout
<<cnt
<<endl
;}return 0;
}
努力加油a啊,(o)/~
總結(jié)
以上是生活随笔為你收集整理的Codeforces Round #650 (Div. 3)(A-C)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。