WA #4 大佬求调
查看原帖
WA #4 大佬求调
1063855
xu_zhihao楼主2024/4/4 16:13

CODE

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		int f=0;
		int n,k;
		cin>>n>>k;
		long long int sum=0;
		for(int i=1;i<=1e9;i++)
		{
			sum+=i;
			if(sum>=k)
			{
				f=i;
				break;
			}
		}
		/*1 2 3 4
		10 7*/
		//cout<<sum;
		if(k!=sum)
		{
			
			if(2*k>n)
			{
				//5 3
				//()()(
				//f=3;
				//()()
				if((f-1)*2+(k-(sum-f))*2>n)
				{
				    cout<<-1<<endl;
				    continue;
			    }
			    else
			    {
			    	for(int i=0;i<f-2;i++)
			    	{
			    		putchar('(');
			    		putchar(')');
					}
					for(int i=0;i<=(k-(sum-f));i++)
					{
						putchar('(');
					}
					for(int i=0;i<=(k-(sum-f));i++)
					{
						putchar(')');
					}
					for(int i=0;i<n-((f-1)*2+(k-(sum-f))*2);i++)
					{
						putchar('(');
					}
				}
			}
			else
			{
				for(int i=0;i<k;i++)
				{
					putchar('(');
				}
				for(int i=0;i<k;i++)
				{
					putchar(')');
				}
				for(int i=0;i<n-2*k;i++)
				{
					putchar('(');
				}
		    }
			cout<<endl;
		}
		else
		{
			if(f*2>n)
			{
				//()()(())
				cout<<-1<<endl;
				continue;
			}
			for(int i=0;i<f;i++)
			{
				putchar('(');
				putchar(')');
			}
			for(int i=0;i<n-f*2;i++)
			{
				putchar('(');
			}
			cout<<endl;
		}
    }//()()(())
    //6 4
}
	
2024/4/4 16:13
加载中...