神奇的序列 HNUST 1883
来源:互联网 发布:网络分为哪几类 编辑:程序博客网 时间:2024/05/24 03:58
题目描述
Aurora在南宁发现了一个神奇的序列,即对于该序列的任意相邻两数之和都不是三的倍数。现在给你一个长度为n的整数序列,让你判断是否能够通过重新排列序列里的数字使得该序列变成一个神奇的序列。
输入
第一行包含一个数字T(T <= 50), 表示测试数据组数。
每一组测试数据首先给出一个数字n(2 <= n <= 200) 表示序列的长度,接下来n个数ai(1<= ai <= 100) 表示该序列。
输出
每组测试数据输出一行。如果序列能通过重新排列变成一个神奇的序列,输出”pulsating!” 否则输出”day day up!”。
样例输入
2
4
1 3 2 4
6
1 2 3 6 3 27
样例输出
pulsating!
Aurora在南宁发现了一个神奇的序列,即对于该序列的任意相邻两数之和都不是三的倍数。现在给你一个长度为n的整数序列,让你判断是否能够通过重新排列序列里的数字使得该序列变成一个神奇的序列。
输入
第一行包含一个数字T(T <= 50), 表示测试数据组数。
每一组测试数据首先给出一个数字n(2 <= n <= 200) 表示序列的长度,接下来n个数ai(1<= ai <= 100) 表示该序列。
输出
每组测试数据输出一行。如果序列能通过重新排列变成一个神奇的序列,输出”pulsating!” 否则输出”day day up!”。
样例输入
2
4
1 3 2 4
6
1 2 3 6 3 27
样例输出
pulsating!
day day up!
思路:根据数学规则,可以把所有的数字转换成0 1 2(对3取余)。然后考虑不可能存在神奇序列情况
1)0的个数大于1 2的个数+1 形似:1 0 2 0 1
2)没有0的时候,有1和2 形似 : 1 2 1 2 1
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <set>#include <string> using namespace std;typedef long long ll;int a[10];int main(){ int t; scanf("%d",&t); while(t--) { int n,num,flag=0; scanf("%d",&n); memset(a,0,sizeof(a)); for(int i=1;i<=n;i++) { scanf("%d",&num); a[num%3]++; } int a0=a[0],a1=a[1],a2=a[2]; if(a0>a1+a2+1) flag=1; else if(a0<a1+a2) { if(a0==0&&(a1!=0&&a2!=0)) flag=1; } if(flag) printf("day day up!\n"); else printf("pulsating!\n"); } }
阅读全文
0 0
- 神奇的序列 HNUST 1883
- 1007神奇的序列
- ZUFE2480: 神奇的序列
- WUSTOJ 1961 神奇的序列
- qwb与神奇的序列
- HNUST--模的和
- hnust
- hnust
- hnust
- hnust
- hnust
- hnust
- hnust
- hnust
- hnust
- JAVA自定义序列化的神奇方法
- zufe 神奇的序列计算 (树状数组)
- 晋城一中oj 神奇的序列
- c++ forward_list 的使用
- Hbase-简介-存储API与实现
- 定形相变复合材料热性能标准测试方法及其改进
- [ 线段树 ] [ POI2014 ] BZOJ3521
- 11.1
- 神奇的序列 HNUST 1883
- Android studio 2.3 迁移项目到 3.0
- 论文阅读笔记:A 3D Coarse-to-Fine Framework for Automatic Pancreas Segmentation
- Android 8.0 Oreo(用户体验篇)
- HDU1280-前m大的数
- 关于ajax异步加载图片的路径赋值问题
- MFC cdc hdc 等
- JAVA自动装箱和拆箱功能是把双刃剑
- 2017年12月18日 第四十天次总结