sfqxx 发表于 2023-2-5 17:15:55

梦想护卫舰 第21期 解决题目

本帖最后由 sfqxx 于 2023-2-6 15:01 编辑

他们见你们那么厉害,只好把你们带到关押zhangjinxuan的位置
没想到,这里还设了3道题目?!
那么,请作答{:10_256:}

第一题(水题)
(非原创)如果你在Idle种不小心把内置函数赋值了,那么如何撤销呢?
请至少说出2种有效方法

第二题:(原创)在python种如何用代码在一行内输入2个数字,中间有空格
例子:2 5
(2)那3个数呢?

第三题:实验题
上题目!
字幕君累了,见这个网页(注:需要登陆)
没登陆看这→https://www.luogu.com.cn/
登陆了看这→https://www.luogu.com.cn/problem/P9033?contestId=98078

奖励随机,没有答案!{:10_264:}

制作不易,评个分呗{:10_254:} (VIP不扣荣誉和贡献的啦)

dolly_yos2 发表于 2023-2-5 19:08:37

本帖最后由 dolly_yos2 于 2023-2-5 20:05 编辑

不用 IDLE,好奇一下这两种方法是不是应该都可行?
魔法版:import os;os.execlp("python", "python")
正常版:locals().pop('<被覆盖的名字>')

第二题没意思

第三题等待会再编辑上来(似乎并不需要登录,还是登录与否看到的内容不同(不会吧)?)
很快 C 就(终于)会有标准库中的 clz 之类的函数啦!
#include <stdio.h>
#include <stdint.h>
static inline uint8_t count_effective_bits(uint32_t value){
    uint8_t result = 0;
    if(value > 0xffff){ result += 16; value >>= 16; }
    if(value >   0xff){ result +=8; value >>=8; }
    if(value >    0xf){ result +=4; value >>=4; }
    switch(value){
      case 7: case 6: case 5: case 4:
            result += 1;
      case 3: case 2:
            result += 1;
      case 1:
            result += 1;
      case 0:
            break;
      default:
            result += 4;
            break;
    }
    return result;
}
int main(){
    scanf("%*u");
    unsigned int n, k, m;
    while(scanf("%u%u%u", &n, &k, &m) == 3){
      if(k > m && n == 1){ printf("-1\n"); continue; }
      if(k <= m){
            printf("%u", k);
            for(unsigned int i = 1; i < n; i++) printf(" 0");
            putchar('\n');
            continue;
      }
      uint8_t effective_bits = count_effective_bits(m);
      unsigned int base = 1 << (effective_bits - 1);
      unsigned int limit = (1 << effective_bits) - 1;
      if(k > limit){ printf("-1\n"); continue; }
      printf("%u %u", base, k - base);
      for(unsigned int i = 2; i < n; i++) printf(" 0");
      putchar('\n');
    }
    return 0;
}

tommyyu 发表于 2023-2-5 19:11:17

1. https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=224138&pid=6137054
2. a, b = map(int, input().split())
3. def ten_to_two(x):
    return bin(x)

def two_to_ten(x):
    return int(x, 2)

def solve(a, b, c):
    if b > c:
      if two_to_ten('1' + (len(ten_to_two(b))-1) * '0') > c or a == 1:
            print(-1)
            return
      print(two_to_ten('1' + (len(ten_to_two(b))-1) * '0'), two_to_ten(ten_to_two(b)), end = ' ')
      print(*( * (a-2)))
      return
    if b <= c:
      print(b, end = ' ')
      print(*( * (a-1)))
      return

n = int(input())
for i in range(n):
    a, b, c = map(int, input().split())
    solve(a, b, c)

感觉还是 @zhangjinxuan 发的贴比较好{:10_260:}

柿子饼同学 发表于 2023-2-5 19:53:09

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

typedef long long ll;
ll T, n, m, k, temp;
bool s = 0;

int highbit(ll x){
    int ans = 0;
    while(x){
      x >>= 1;
      ans++;
    }
    return ans;
}

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);

    cin >> T;
    while(T--){
      cin >> n >> k >> m;
      if(highbit(k) > highbit(m) || (n == 1 && k > m)){
            cout << -1 << endl;
      }
      else{
            while(n > 1 && k){
                cout << (1 << (highbit(k) - 1)) << " ";
                n--;
                k -= ((1 << (highbit(k) - 1)));
            }
            cout << k << " ";
            for(int i = 1; i <= n - 1; i++) cout << 0 << " ";
            cout << endl;
      }
    }

    return 0;
}

sfqxx 发表于 2023-2-5 20:01:21

tommyyu 发表于 2023-2-5 19:11
1. https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=224138&pid=6137054
2. a, b = map( ...

***
小心不给您最佳!

zhangjinxuan 发表于 2023-2-5 20:26:21

tommyyu 发表于 2023-2-5 19:11
1. https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=224138&pid=6137054
2. a, b = map( ...

{:10_284:}

sfqxx 发表于 2023-2-5 20:26:37

dolly_yos2 发表于 2023-2-5 19:08
不用 IDLE,好奇一下这两种方法是不是应该都可行?
魔法版:
正常版:


全部做完才有机会最佳答案哦

zhangjinxuan 发表于 2023-2-5 20:27:32

后面呢,我就被就出来了,拯救zhangjinxuan的故事也结束了,宝箱也重新回到了手中,然后……然后又继续编{:10_291:}

题没啥意思,不想丸{:10_256:}

sfqxx 发表于 2023-2-5 20:27:41

zhangjinxuan 发表于 2023-2-5 20:26


{:5_90:}

zhangjinxuan 发表于 2023-2-5 20:28:37

sfqxx 发表于 2023-2-5 20:27


本期应是21期,另外,不要说 po jie 题目,换一个,解题,好不好,因为 po jie 好像会审核

sfqxx 发表于 2023-2-5 20:28:55

zhangjinxuan 发表于 2023-2-5 20:27
后面呢,我就被就出来了,拯救zhangjinxuan的故事也结束了,宝箱也重新回到了手中,然后……然后又继续编{: ...

进入幻境,还是答题{:10_256:}
循环

sfqxx 发表于 2023-2-5 20:30:02

zhangjinxuan 发表于 2023-2-5 20:28
本期应是21期,另外,不要说 po jie 题目,换一个,解题,好不好,因为 po jie 好像会审核

原来如此{:10_277:}

zhangjinxuan 发表于 2023-2-5 20:30:46

sfqxx 发表于 2023-2-5 20:28
进入幻境,还是答题
循环

破解

dolly_yos2 发表于 2023-2-5 20:31:50

sfqxx 发表于 2023-2-5 20:26
全部做完才有机会最佳答案哦

哈哈,可不是为了最佳来的,有趣才是第一出发点

sfqxx 发表于 2023-2-5 20:32:47

dolly_yos2 发表于 2023-2-5 20:31
哈哈,可不是为了最佳来的,有趣才是第一出发点

行,这种想法能理解,那么就加点奖励吧
(我也想要评分)

tommyyu 发表于 2023-2-5 20:33:00

本帖最后由 tommyyu 于 2023-2-5 20:44 编辑

sfqxx 发表于 2023-2-5 20:28
进入幻境,还是答题
循环

我有一个嚎主意{:10_256:}
但是这个主意可能会让高山把你的工资扣完,而且@zhangjinxuan 可能要多蹲几年大牢{:10_256:}
救zhangjinxuan时,你们先走了你和zhangjinxuan之间距离的一半,外星人给你们出了一道题,才能再把下一半路走完
走到一半的一半时,又出了一道题{:10_256:}
每再走一半就会再出几道题{:10_256:}
这样就能一直出(shuǐ)题了{:10_256:}

sfqxx 发表于 2023-2-5 20:35:03

破解

zhangjinxuan 发表于 2023-2-5 20:43:50

tommyyu 发表于 2023-2-5 20:33
我有一个嚎主意
但是这个主意可能会让高山把你的工资扣完,而且@zhangjinxuan 可能要多蹲几 ...

听我说谢谢你~

zhangjinxuan 发表于 2023-2-5 20:44:23

sfqxx 发表于 2023-2-5 20:32
行,这种想法能理解,那么就加点奖励吧
(我也想要评分)

不 要!!!!!!

sfqxx 发表于 2023-2-5 20:45:50

zhangjinxuan 发表于 2023-2-5 20:44
不 要!!!!!!

?您不是给我了吗?
页: [1] 2
查看完整版本: 梦想护卫舰 第21期 解决题目