(交互题真神奇,,,我自己瞎写了一发目测样例都没过去就AC了。。。)
(只出了两题的竟然没掉下蓝名真是可怕)
A:我的代码太不美观了,放个同学的(因为我是c++63分的蒟蒻所以根本不知道那些函数怎么用只能手写被hack)
这个题本身不难,坑点太多了,很囍的是我在2:13分的时候被hack了,,GG
#include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<climits> #include<vector> #include<set> #include<cmath> #include<queue> #include<algorithm> using namespace std; int n,m; signed main() { cin>>n>>m; if (n > m + 1) return puts("NO"), 0; std::string s, t; std::cin >> s >> t; int star = 0; for (auto i : s) if (i == '*') star = 1; if (!star && s != t) return puts("NO"); std::string pre = s.substr(0, s.find('*')), suf = s.substr(s.find('*') + 1); int pres = pre.size(), sufs = suf.size(); if (t.substr(0, pres) == pre && t.substr(m - sufs) == suf) puts("YES"); else puts("NO"); }
B:自认非常优雅
1 #include <bits/stdc++.h> 2 typedef long long ll; 3 using namespace std; 4 ll n,k; 5 int main(){ 6 scanf("%lld%lld",&n,&k); 7 ll ans = 0; 8 if(k>n){ 9 ll tmp = k-n; 10 ans = (n-tmp+1)/2; 11 } else{ 12 ll tmp = k-1; 13 ans = (tmp-1+1)/2; 14 } 15 ans =ans>0?ans:0; 16 printf("%lld\n",ans); 17 }
C:
太困了又刚补了几话狐妖又吸了冰毒 喝了冷藏的维他柠檬茶 导致一开始的思路是错的,,,还wa了两发。。。其实是个大水题
#include <bits/stdc++.h> typedef long long ll; using namespace std; int n,k; char s[200005]; int main() { scanf("%d%d", &n, &k); scanf("%s", s + 1); k/=2; int cnt = 0,cnt2=0; for(int i=1;i<=n;i++){ if(s[i]=='(') cnt++; else cnt2++; printf("%c",s[i]); if(cnt==k) break; } cnt2 = cnt-cnt2; while (cnt2--){ printf(")"); } }