#我爱cf之每日一题——脑筋转不转?01

xiaoxiao2021-02-28  54

Educational Codeforces Round 43 Editorial

A.Minimum Binary Number

思路:很明显关键在于有多少个0。如果没有0,最后就是1,不然的话如果输入的数是0,输出也为0,其他的时候就是在一堆零的前面加一个1。

代码:

#include<iostream> #include<cstdio> using namespace std; int main(){ int n; string s; cin>>n>>s; if(n == 1) { cout<<s<<endl; } else { int tmp = 0; for(int i = 0; i < n; i++) { if(s[i] == '0') tmp++; } cout << "1"; for(int i = 0; i < tmp; i++) cout << "0"; cout << endl; } return 0; }

B.Lara Croft and the New Game

思路:也是挺水的一道数学题。关键在于发现从下往上转弯开始每行的格子数都相同。数学大法好。

代码:

#include<iostream> #include<cstdio> using namespace std; int main(){ long long n, m, k; scanf("%lld%lld%lld", &n, &m, &k); if(k >= 0 && k <= n - 1) { printf("%lld 1\n", k + 1); } else { long long row = (k - n) / (m - 1); printf("%lld ", (n - row)); if(row & 1)//如果是从下往上的奇数行 { printf("%lld\n", m - (k - n) % (m - 1) ); } else { printf("%lld\n", 2 + (k - n) % (m - 1) ); } } return 0; }

转载请注明原文地址: https://www.6miu.com/read-2629476.html

最新回复(0)