QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#501304#5154. ETAzmrzmrTL 1ms7468kbC++201.3kb2024-08-02 16:30:412024-08-02 16:30:41

Judging History

你现在查看的是最新测评结果

  • [2024-08-02 16:30:41]
  • 评测
  • 测评结果:TL
  • 用时:1ms
  • 内存:7468kb
  • [2024-08-02 16:30:41]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int N = 1e6+10;
int dep[N];
int main()
{
	int a,b;
	char c;
	cin>>a>>c>>b;
	int sum = a;
	int point = b-1;
	int j = 1;
	if(sum - point < 0 )
	{
		cout<<"impossible"<<endl;
		return 0;
	}
	while(1)
	{
		for(int i = 1 ; i <= point ; i ++ )
	{
		if( sum - (point * i) < 0 )
		{
			dep[i] = point ;
			int tem = point*i - sum ;
			sum = sum - (point * i);
			dep[i]-=tem;
			dep[i-1]+=tem;
			break;
		}
		else
		{
			sum-=i;
			point -= 1 ;
			dep[i] = 1 ;
			continue;
		}
	}
	if(sum>0)
	{
		j++;
		sum = 2*a;
		point = 2*b - 1 ;
		memset(dep,0,sizeof(dep));
	}
	else break;
	}
	int sum_ed = 0 ;
	int cnt_dep = 0;
	for(int i = 1; dep[i] ; i++ )
	{
		sum_ed+=dep[i];
		cnt_dep++;
	}	
	int cnt = 0;
//	for(int i = 1 ; dep[i] ; i++ )
//		cout<<dep[i]<<" ";
	cout<<j*b<<" "<<sum_ed<<endl;
	int temcnt;
	for(int i = 1; i <= cnt_dep ; i++)
	{
		if(dep[i] == 1)
		{
			cnt++;
			cout<<cnt<<" "<<cnt+1<<endl;
		}
		else
		{
			cnt++;
			for(int j = 1 ; j <= dep[i] ; j++)
			{
				cout<<cnt<<" "<<cnt+j<<endl;
				temcnt = cnt + j ;
			}
			break;
		}
	}
	int tt=temcnt-1;
	for(int i = 1 ; i <= dep[cnt+1] ; i++ )
	{
		cout<<cnt+1<<" "<<cnt+tt<<endl;
		tt++;
	}
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3684kb

input:

1/2

output:

2 1
1 2

result:

ok 

Test #2:

score: 0
Accepted
time: 0ms
memory: 3688kb

input:

1/3

output:

impossible

result:

ok 

Test #3:

score: 0
Accepted
time: 0ms
memory: 7468kb

input:

7/4

output:

8 7
1 2
2 3
2 4
2 5
2 6
2 7
3 8

result:

ok 

Test #4:

score: 0
Accepted
time: 0ms
memory: 3632kb

input:

974/975

output:

975 974
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 61
...

result:

ok 

Test #5:

score: 0
Accepted
time: 1ms
memory: 3544kb

input:

943/346

output:

346 345
1 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
2 11
2 12
2 13
2 14
2 15
2 16
2 17
2 18
2 19
2 20
2 21
2 22
2 23
2 24
2 25
2 26
2 27
2 28
2 29
2 30
2 31
2 32
2 33
2 34
2 35
2 36
2 37
2 38
2 39
2 40
2 41
2 42
2 43
2 44
2 45
2 46
2 47
2 48
2 49
2 50
2 51
2 52
2 53
2 54
2 55
2 56
2 57
2 58
2 59
2 60
2 61
...

result:

ok 

Test #6:

score: -100
Time Limit Exceeded

input:

912/7

output:


result: