璟雯院

珺璟如晔,雯华若锦

用户工具

站点工具


icpc:problems:luogup2952
problems
名称Sleeping in Class B
题目编号USACO22FEB_B1
题目链接luogu.com.cn/…
来源USACO
算法分类枚举, 入门_循环
难易程度容易

这是本文档旧的修订版!


problems
名称Cow Line
题目编号P2952
题目链接luogu.com.cn/…
来源USACO
算法分类队列, 模拟
难易程度容易

Cow Line

想法

用两个队列模拟双端队列。

代码实现

#include<cstdio>
const int N = 100010;
int line1[N],line2[N];
int head1=1, last1=0, head2=1, last2=0, cnt;
int main() {
	int s, temp; char mod, turn;
	scanf("%d", &s);
	for(int i=1; i<=s; i++) {
		scanf("\n%c %c", &mod, &turn);
		if(mod == 'A') {
			++cnt;
			if(turn=='L') 
				line1[++last1] = cnt;
			else 
				line2[++last2] = cnt;
		}
		else {
			scanf("%d", &temp);
			if(turn == 'R') {
				if(temp > (last2-head2+1)) {
					temp -= (last2-head2+1);
					last2 = head2-1;
					if(temp > 0) head1 += temp;
				}
				else 
					last2 -= temp;
							}
			else {
				if(temp > (last1-head1+1)) {
					temp -= (last1-head1+1);
					last1 = head1-1;
					if(temp > 0) head2 += temp;
				}
				else 
					last1 -= temp;
			}
		}
	}
	for(int i=last1; i>=head1; i--) 
		printf("%d\n", line1[i]);
	for(int i=head2; i<=last2; i++)
		printf("%d\n", line2[i]);
	return 0;
}
/app/www/public/data/attic/icpc/problems/luogup2952.1706788022.txt.gz · 最后更改: 2024/02/01 11:47 由 温婕莺