概述
【16NOIP普及组】魔法阵
时间限制: 1000 ms 内存限制: 262144 KB
【题目描述】
六十年一次的魔法战争就要开始了,大魔法师准备从附近的魔法场中汲取魔法量。
大魔法师有 m 个魔法物品,编号分别为1,2,...m。每个物品具有一个魔法值,我们用 xi 表示编号为 i 的物品的魔法值。每个魔法值 xi 是不超过 n 的正整数,可能有多个物品的魔法值相同。
大魔法师认为,当且仅当四个编号为a,b,c,d的魔法物品满足xa<xb<xc<xd,xb−xa=2(xd−xc),并且xb−xa<(xc−xb)÷3时,这四个魔法物品形成了一个魔法阵,他称这四个魔法物品分别为这个魔法阵的A物品,B物品,C物品,D物品。
现在,大魔法师想要知道,对于每个魔法物品,作为某个魔法阵的A物品出现的次数,作为B物品的次数,作为C物品的次数,和作为D物品的次数。
【输入】
输入的第一行包含两个空格隔开的正整数n和m;
接下来m行,每行一个正整数,第i+1行的正整数表示xi,即编号为 i 的物品的魔法值。
保证1≤n≤15000,1≤m≤40000,1≤xi≤n。每个 xi 是分别在合法范围内等概率随机生成的。
【输出】
共输出 m 行,每行四个整数。第 i 行的四个整数依次表示编号为 i 的物品作为A,B,C,D物品分别出现的次数。
保证标准输出中的每个数都不会超过10^9
每行相邻的两个数之间用恰好一个空格隔开。
【输入样例】
30 8
1
24
7
28
5
29
26
24
【输出样例】
最后
以上就是舒适百褶裙为你收集整理的【2016NOIP普及组】T4:魔法阵 试题解析的全部内容,希望文章能够帮你解决【2016NOIP普及组】T4:魔法阵 试题解析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复