题目来源
https://codeforces.com/problemset/problem/1352/F
题目描述
AC题解
思路:
首先想到的便是构建二进制数,n0和n2都比较好处理,关键是n1如何处理
可以将n1分为两种情况,一种情况是n1 == 0的情况,直接输出n0个00和n2个01即可;n1 不等于0的时候规律很容易找到。
#include<stdio.h>
int main()
{
int t; scanf("%d", &t);
while (t--)
{
int n0, n1, n2;
scanf("%d%d%d", &n0, &n1, &n2);
if (!n1)
{
if (n2)
for (int i = 0; i < n2 + 1; i++) printf("1");
if (n0)
for (int i = 0; i < n0 + 1; i++) printf("0");
printf("\n");
continue;
}
else
{
for (int i = 0; i <= n0; i++) printf("0");
for (int i = 0; i <= n2; i++) printf("1");
for (int i = 0; i < (n1 - 1) / 2; i++) printf("01");
if (!(n1 & 1)) printf("0");
printf("\n");
continue;
}
}
return 0;
}