Atcoder Panasonic Programming Contest 2020 部分题解

上课上到一半被拉出来打这场。结果被教育了。

题目链接

做题顺序: A(AC)->B(WA)->E(未交)->C(AC)->E(WA)->D(AC)->B(AC)->E(WA)

A:上来直接把下标写成\(n\)\(n+1\),结果 \(WA\) 两次,直接心态爆炸

代码就不放了。

B:

题意:\(n \times m\) 的棋盘上,一个棋子被放在 \((1,1)\) 位置,每次它能移动到所有 \(x + y\)\(x - y\) 相等的格子上,问一共能访问多少个格子

看样例,答案就是 \(\left\lceil\dfrac{n \times m}{2}\right\rceil\) 哈哈哈哈

结果 \(WA\)

因为 \(n = 1\)\(m = 1\) 时,它不能移动到其他任何一个格子上,所以答案是 \(1\)

\(76\) min 过了这题

int main()
{
    cin>>a>>b;
    if(a > b) swap(a,b);
    if(a == 1) cout<<1<<endl;
    else cout<<(ll)((ll)a*b+1)/2;
    return 0;
}

C:

题意:判断 \(\sqrt a + \sqrt b\) 是否小于 \(\sqrt c\)

刚开始想判掉相等的情况再直接比较,结果又 \(WA\)

正确解法:两边平方,移项,再平方,得到:

\[4ab < (c - a - b)^2 \]

还可以注意到:\(c < a + b\) 时一定非法,要判掉

ll a,b,c;
int main()
{
    cin>>a>>b>>c;
    if(c - a - b >= 0 && 4 * a * b < (c - a - b) * (c - a - b)) puts("Yes");
    else puts("No");
    return 0;
}

D:

题意:不想写了(太长了)

直接搜,注意每次填下一个字符只能填到当前最大字符+1,防止重复。(这题我是1A)

这次放完整代码

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define mit map<int,int>::iterator
#define sit set<int>::iterator
#define itrm(g,x) for(mit g=x.begin();g!=x.end();g++)
#define itrs(g,x) for(sit g=x.begin();g!=x.end();g++)
#define ltype int
#define rep(i,j,k) for(ltype(i)=(j);(i)<=(k);(i)++)
#define rap(i,j,k) for(ltype(i)=(j);(i)<(k);(i)++)
#define per(i,j,k) for(ltype(i)=(j);(i)>=(k);(i)--)
#define pii pair<int,int>
#define fi first
#define se second
#define mpr make_pair
#define pb push_back
#define fastio ios::sync_with_stdio(false)
const int inf=0x3f3f3f3f,mod=1000000007;
const double pi=3.1415926535897932,eps=1e-6;
void chmax(int &x,int y){if(x < y) x = y;}
void chmin(int &x,int y){if(x > y) x = y;}
int n;
string cur;
vector<string> v;
void dfs(int x,int y) {
    if(x == n){
        v.pb(cur);
        return;
    }
    rep(i,1,y+1) {
        cur[x] = i + 96;
        dfs(x + 1,max(y,i));
    }
}
int main()
{
    scanf("%d",&n);
    cur.resize(n);
    dfs(0,0);
    rap(i,0,v.size()) cout<<v[i]<<endl;
    return 0;
}

最后居然只掉了 \(14\) 点。。

posted @ 2020-03-16 11:58  beacon_cwk  阅读(162)  评论(0)    收藏  举报