重点内容
#include <stdio.h>
int main()
{
long long n, m, left, right;
scanf ("%lld %lld",&n,&m);
char s[n];
left = 0;
right = 0;
scanf ("%s", s);
for (int i = 0; i < n; i++){
if (s[i] == '(')
{
left++;
}
else
{
right++;
}
printf ("%c", s[i]);
if (left == m/2)
{
break;
}
}
for (int i = right+1; i <= m/2; i++){
printf (")");
}
return 0;
}
题意
大概是在不改变顺序的条件下找出m个配对的()
思路
无论遇见’(‘还是’)’都输出,记录输出‘(’的数量,当期等于m/2时跳出循环。计算离目标长度还差多少,全输出’)’。
学到的知识
简化题意,提取关键信息