题目链接:http://codeforces.com/contest/334/problem/A

题意:有n个人,将1~n袋(第 i  袋共有 i  颗糖果,1<= i  <=n)所有的糖果(n*(n+1)/2)均分到n个人中。

这里要注意的是输出问题,每行中的前n / 2(包括n/2)个数比较容易解决,就是每两个数中相隔n个长度,第n/2个数和第n/2+1个数之间隔了多少个长度,这是值得考虑的问题。我的做法是,由于每个人分到的糖果是 (n / 2) * (n*n+1)  (输出的n个数看成n/2个组合,每个组合有两个数,这两个数中的和恰好是n*n+1),所以用一个数组存储后半部分n/2+1 ~ n。例如输入的n为6,输出如下:

第一个人:  1     7      13   24  30  36

第二个人:  2   8     14   23  29  35

第三个人:  3   9     15    22  28  34

第四个人:  4   10        16    21       27       33

第五个人:    5         11        17         20        26      32

第六个人:  6   12         18        19        25      31

以第一个人作为分析:1和36是一个组合,另外两个组合分别是7和30,13和24,当输出1的时候,计算出36(6*6+1-1),存入temp[0],输出7的时候,计算出30(37-7),存入temp[1],输出13,计算出24,存入temp[2],最后按逆序(2--->0)输出即可。可能方法有点笨,希望热心的读者可以提出些更好的方法,让我学习学习。

 #include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std; const int maxn = + ; int main()
{
int i, j, k, l, n, temp[maxn];
while (scanf("%d", &n) != EOF)
{
for (i = ; i <= n; i++)
{
k = ;
for (j = i; j <= (n * n / ); j += n)
{
if (j == i)
printf("%d", j);
else
printf(" %d", j);
temp[k++] = n * n + - j;
}
for (l = n / -; l >= ; l--)
{
printf(" %d", temp[l]);
}
printf("\n");
}
}
return ;
}

codeforces A. Candy Bags 解题报告的更多相关文章

  1. Codeforces Round 665 赛后解题报告(暂A-D)

    Codeforces Round 665 赛后解题报告 A. Distance and Axis 我们设 \(B\) 点 坐标为 \(x(x\leq n)\).由题意我们知道 \[\mid(n-x)- ...

  2. Codeforces Round 662 赛后解题报告(A-E2)

    Codeforces Round 662 赛后解题报告 梦幻开局到1400+的悲惨故事 A. Rainbow Dash, Fluttershy and Chess Coloring 这个题很简单,我们 ...

  3. Codeforces Round #277.5 解题报告

    又熬夜刷了cf,今天比正常多一题.比赛还没完但我知道F过不了了,一个半小时贡献给F还是没过--应该也没人Hack.写写解题报告吧= =. 解题报告例如以下: A题:选择排序直接搞,由于不要求最优交换次 ...

  4. codeforces C. Inna and Huge Candy Matrix 解题报告

    题目链接:http://codeforces.com/problemset/problem/400/C 题目意思:给出一个n行m列的矩阵,问经过 x 次clockwise,y 次 horizontal ...

  5. codeforces B. Simple Molecules 解题报告

    题目链接:http://codeforces.com/problemset/problem/344/B 题目意思:这句话是解题的关键: The number of bonds of an atom i ...

  6. 【LeetCode】723. Candy Crush 解题报告 (C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 暴力 日期 题目地址:https://leetcode ...

  7. codeforces 591A. Wizards' Duel 解题报告

    题目链接:http://codeforces.com/problemset/problem/591/A 题目意思:其实看下面这幅图就知道题意了,就是Harry 和 He-Who-Must-Not-Be ...

  8. codeforces 582A. GCD Table 解题报告

    题目链接:http://codeforces.com/problemset/problem/582/A 网上很多题解,就不说了,直接贴代码= = 官方题解: http://codeforces.com ...

  9. codeforces 581C. Developing Skills 解题报告

    题目链接:http://codeforces.com/problemset/problem/581/C 题目意思:给出 n 个数:a1, a2, ..., an (0 ≤ ai ≤ 100).给出值 ...

随机推荐

  1. 洛谷P1082 同余方程

    题目描述 求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解. 输入输出格式 输入格式: 输入只有一行,包含两个正整数 a, b,用一个空格隔开. 输出格式: 输出只有一行,包含一个正 ...

  2. openSSL命令、PKI、CA、SSL证书原理

    相关学习资料 http://baike.baidu.com/view/7615.htm?fr=aladdin http://www.ibm.com/developerworks/cn/security ...

  3. 代码重构-3 用Tuple代替 out与ref

    返回单一值是良好的编程习惯 原代码: public LotteryViewModel ValidateLottery(LotteryBaseData baseData, int authTime, o ...

  4. windows2003安全加固

    因为IIS的方便性和易用性,使它成为最受欢迎的Web服务器软件之一.但是,IIS的安全性却一直令人担忧.如何利用IIS建立一个安全的Web服务器,是很多人关心的话题.要创建一个安全可靠的Web服务器, ...

  5. PHP文件包含漏洞剖析

    一. 什么才是”远程文件包含漏洞”?回答是:服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到邪恶的目的. ...

  6. 织梦dedecms如何快速使用拼音首字母做栏目名称

    织梦默认使用拼音为保存目录的时候使用的是中文全拼,当遇到栏目名称比较长的时候目录名称看起来有点冗长,这时候大多数站长喜欢使用拼音首字母作为栏目的保存目录,那么有没有什么快速的办法能让我们快速的使用首字 ...

  7. 记录一次centos6.4版本的VSFTP本地用户登陆的配置

    其实vsftp是一个非常常用而且简单的服务,但是假如服务不是你配置的前者没有留下参考档案,的确是件头疼的事儿,特此记录下. 首先是vsftp的安装当然安装有源码的编译和yum等 这里我选择rpm包的y ...

  8. Json.NET 利用ContractResolver解决命名不一致问题

    今天在遇到这么个问题,项目上有一部分功能需要访问web api, 这个api请求和相应的数据格式都是使用JSON,JSON中的field命名方式是以下划线分割的,比如"project_nam ...

  9. Flume-NG中Transaction并发性探究

    我们曾经在Flume-NG中的Channel与Transaction关系(原创)这篇文章中说了channel和Transaction的关系,但是在source和sink中都会使用Transaction ...

  10. Constructing Roads (MST)

    Constructing Roads Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u ...