首页 > 其他分享 >Namomo Winter Camp D3 Div2 简易题解

Namomo Winter Camp D3 Div2 简易题解

时间:2023-01-09 23:34:43浏览次数:72  
标签:Winter int 题解 Camp back freopen ans push

题目
提交链接

Problem K. Kotlin Island

首先不用考虑描边(那样和不画这条边是一样的)。那么剩下的就是在长度和宽度内枚举了。显然可以知道长宽最多画 \((n - 1) / 2\) 和 \((m - 1) / 2\) 条线。

#include <bits/stdc++.h>
using namespace std;

int n, m, k; 

char a[500][500]; 

int main(){
    freopen("kotlin.in", "r", stdin);
    freopen("kotlin.out", "w", stdout); 
    cin >> n >> m >> k; 
    int l1 = (n - 1) / 2; 
    int l2 = (m - 1) / 2; 
    if(k > (l1 + 1) * (l2 + 1)){
        puts("Impossible");
        return 0;
    }

    int x1, x2; 
    bool flag = 0; 
    for(int i = 1; i <= l1 + 1; i++){
        if(k % i == 0){
            int j = k / i; 
            if(j >= 1 && j <= l2 + 1){
                flag = 1; 
                x1 = i, x2 = j; 
                break; 
            }
        }
    }
    if(!flag){
        puts("Impossible"); 
    }
    else{
        int num = 0; 
        for(int i = 2; i <= n; i += 2){
            if(num == x1 - 1) break; 
            for(int j = 1; j <= m; j++){
                a[i][j] = '#'; 
            }
            num++; 
            
        }
        num = 0; 
        for(int j = 2; j <= m; j += 2){
            if(num == x2 - 1) break;
            for(int i = 1; i <= n; i++) 
                a[i][j]= '#'; 
            num++; 
             
        }
        for(int i = 1; i <= n; i++, puts("")){
            for(int j = 1; j <= m; j++){
                if(a[i][j] != '#') printf("."); 
                else printf("#"); 
            }
        }
    }
    return 0; 
}

Problem A. Auxiliary Project

可以知道拿 \(7\) 是最赚的。在拿 \(7\) 会导致无法消耗完剩下的木棍时(余\(1\))时,不拿 \(7\) 而是一次性拿完剩下的能拿的最大的即可。

···cpp

include <bits/stdc++.h>

using namespace std;

define N 100010

vector G[N];

int main(){
freopen("auxiliary.in", "r", stdin);
freopen("auxiliary.out", "w", stdout);
G[2].push_back(1);
G[3].push_back(7);
G[4].push_back(4);
G[5].push_back(2);
G[5].push_back(3);
G[5].push_back(5);
G[6].push_back(6);
G[6].push_back(9);
G[6].push_back(0);
G[7].push_back(8);

for(int i = 2; i <= 7; i++){
    sort(G[i].begin(), G[i].end(), [](int a, int b) -> bool {return a > b; });
}

    int n; cin >> n; 
    int ans = 0; 
    while(n - 3 >= 2){
        n -= 3; 
        ans += 7; 
    }
    ans += G[n][0]; 
    cout << ans << endl; 

}

标签:Winter,int,题解,Camp,back,freopen,ans,push
From: https://www.cnblogs.com/wondering-world/p/17038860.html

相关文章

  • 十二省联考 2019 题解
    Day1B字符串问题朴素的想法是,建一张\(n_a+n_b\)个点的有向图\(G\)。对于一个支配关系\((x,y)\),从\(x\)向\(y+n_a\)连边。此外,枚举\(1\lei\len_b\),对于每个......
  • 1.9寒假集训-进阶训练赛(五)A-M题解
    前五题网上都有不写了需要注意的是第四题是给定密钥和密文要把它加密算是一个逆过程看了半天都没读懂样例 第六题应该也有但是我写一下因为学校oj这边空间给的是1......
  • HDU-3949 XOR 题解报告
    题目地址题意:从一个序列中取任意个元素进行异或,求能异或出的所有数字中的第k小。分析:性质:一个线性基异或上另一个不同的线性基,并作为自己的新值,这并不改变整个线性......
  • 【CF802O】April Fools' Problem (hard) 题解 (线段树模拟费用流)
    线段树模拟费用流。LG传送门。SolutionPart1根据题面,显然想到此题是费用流。建图方式亦是显然:\(S\rightarrowi\),流量为\(1\),费用为\(a_i\);\(i\rightarrowT_0\)......
  • contest739E. Gosha is hunting 题解报告
    题目地址题意:现在一共有\(n\)只神奇宝贝。你有\(a\)个『宝贝球』和\(b\)个『超级球』。『宝贝球』抓到第\(i\)只神奇宝贝的概率是\(p_i\),『超级球』抓到的......
  • 牛客小白月赛65D题 牛牛取石头 题解
    原题链接第一眼看到这道题,其实很容易会联想到经典的bashgame问题这道题并没有巴什博弈那么复杂,但也算一道比较新颖的博弈论题吧还是很适合作为一道博弈论入门题的题......
  • P8932 [JRKSJ R7] Clock Paradox 题解
    在洛谷上阅读Part0题意简述原题这场月赛我唯一AC的题给出一个字符串\(S\),令\(T=S\),求使用\(S\)的子串插入\(T\),将\(T\)变形的最少的操作次数。且字符串\(S\)......
  • SMU Winter 2023 Round #2 (Div.2)(英文)
    A.MediumNumber题目:Giventhreedistinctintegersa,b,andc,findthemediumnumberbetweenallofthem.Themediumnumberisthenumberthatisneitherthe......
  • SMU Winter 2023 Round #1 (Div.2)
    A.不可以,总司令题目:扶苏当上了星战地球舰队的参谋长,但是她不太聪明。人工智能计算出,如果扶苏在一直回答“NO”的话,她在战役中判断完全正确的概率为x%;如果她一直在回答......
  • Educational Codeforces Round 141 (Rated for Div. 2) A-C题解
    比赛链接A、MakeitBeautiful一种构造方法:按照从大到小的顺序构造,可以发现前缀和永远大于当前值。但是需要特判存在两个最大值的情况。只需要将最小值与第二位交换位置......