Uva.133 The Dole Queue

来源:互联网 发布:淘宝的外贸原单 编辑:程序博客网 时间:2024/06/06 03:01

题目链接:https://vjudge.net/problem/UVA-133

代码如下:

#include<cstdio>#include<cmath>#include<cstring>#include<string>#include<iostream>#include<algorithm>#include<queue>#include<stack>#include<sstream>#include<map>//#define DEBUGconst int maxn = 50;using namespace std;;int n, k, m;int a[maxn];int go(int p, int d, int t);int main() {#ifdef DEBUGfreopen("Text.txt", "r", stdin);#endif // DEBUGcin.tie(0);cin.sync_with_stdio(false);while (cin >> n >> k >> m) {if (n == 0 && k == 0 && m == 0)break;int i, j;for (i = 1; i <= n; i++)a[i] = i;int p1 = 0, p2 = n+1;int left = n;while (left > 0) {p1 = go(p1, 1, k);p2 = go(p2, -1, m);if (p1 != p2) {printf("%3d", a[p1]);printf("%3d", a[p2]);a[p1] = a[p2] = 0;left -= 2;}else {printf("%3d", a[p1]);a[p1] = 0;left -= 1;}if(left)printf(",");}printf("\n");}return 0;}int go(int p, int d, int t) {while (t--) {do p = (p + d + n - 1) % n + 1;while (a[p] == 0);}return p;}

0 0
原创粉丝点击