(交互题真神奇,,,我自己瞎写了一发目测样例都没过去就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(")");
    }
}
View Code

相关文章: