8.13
模拟赛
A - SR无敌
发现了一点规律,同时注意一些小细节就可以做出来了
code(这是比较精简的程序,自己的又臭又长)
#include <bits/stdc++.h>
#define ll long long
#define lowbit(x) x & (-x)
#define memset(x) memset(x, 0, sizeof(x))
#define N 1000010
#define sc(x) scanf("%d", &x)
#define pr(x) printf("%d\n", x)
using namespace std;
int n, k;
int main()
{
sc(n);
sc(k);
if (k == 0) printf("0\n");
else if (n == 2 && k == 1) printf("1\n1 2\n");
else if (k == 1 || n - k == 1)
{
printf("2\n1 %d\n", n);
if (k == 1) printf("2 %d\n", n);
else printf("1 %d\n", n - 1);
}
else if (k == 2 || n - k == 2)
{
printf("2\n");
if (k == 2) printf("%d %d\n%d %d\n", 1, n - 1, 2, n);
else printf("%d %d\n%d %d\n", 2, n, 1, n - 1);
}
else printf("3\n1 %d\n1 %d\n%d %d\n", n, k, k + 1, n);
return 0;
}
B - S无敌R
写了个暴力,写挂了,只拿了10分
但好像A的人蛮多的,比第一题多,用的是贪心思想
想过贪心,但贪出来不太对,所以写暴力了
C - 无敌SR
不会
这场比赛的名字是:最后的疯狂送分,表示还是太矜持了,不够啊