您的位置:首页 > 其它

模拟 ACdream 1196 KIDx's Pagination

2015-04-10 21:34 288 查看
题目传送门

 /*
简单模拟;考虑边界的情况输出的是不一样的,还有思维好,代码能短很多
*/
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <map>
#include <vector>
using namespace std;

const int MAXN = 1e4 + 10;
const int INF = 0x3f3f3f3f;

int main(void)        //ACdream 1196 KIDx's Pagination
{
//freopen ("A.in", "r", stdin);

int n, cur, d;
int a[110];
int cas = 0;
while (scanf ("%d%d%d", &n, &cur, &d) == 3)
{
printf ("Case #%d: ", ++cas);
if (cur == 1)    printf ("[<<]");
else    printf ("(<<)");

if (cur - d > 1)    printf ("[...]");
for (int i=max(cur-d, 1); i<cur; ++i)    printf ("(%d)", i);
printf ("[%d]", cur);
for (int i=cur+1; i<=min(cur+d, n); ++i)    printf ("(%d)", i);
if (cur + d < n)    printf ("[...]");

if (cur == n)    printf ("[>>]");
else printf ("(>>)");
puts ("");
}

return 0;
}

/*
Case #1: (<<)[...](3)(4)[5](6)(7)[...](>>)
Case #2: [<<][1](2)(3)[...](>>)
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: