POJ 4044 Score Sequence
题意 :给你两个序列,进行降序排序,找出连续的公共子序列,将这个子序列输出,然后对个位数升序排序,如果个位数相同就按数的大小排,再输出这个新排好的。
思路 :先排序,再找公共子序列,最后个位排序输出。
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm> using namespace std; int a1[],a2[] ;
int b1[],b2[] ; bool cmp(int a,int b)
{
if(a% == b%)
return a < b ;
return a % < b % ;
}
int main()
{
int T ;
while(~scanf("%d",&T))
{
while(T--)
{
memset(a1,,sizeof(a1)) ;
memset(a2,,sizeof(a2)) ;
int n1,n2 ;
scanf("%d %d",&n1,&n2) ;
for(int i = ; i < n1 ; i++)
scanf("%d",&a1[i]) ;
for(int i = ; i < n2 ; i++)
scanf("%d",&a2[i]) ;
sort(a1,a1+n1) ;
sort(a2,a2+n2) ;
reverse(a1,a1+n1) ;
reverse(a2,a2+n2) ;
int len1 = ;
b1[] = a1[] ;
for(int i = ; i < n1 ; i++)
{
if(a1[i] != a1[i-])
b1[len1++] = a1[i] ;
}
int len2 = ;
b2[] = a2[] ;
for(int i = ; i < n2 ; i++)
{
if(a2[i] != a2[i-])
b2[len2++] = a2[i] ;
}
int len = -,pos = ;
for(int i = ; i < len1 ; i++)
{
for(int j = ; j < len2 ; j++)
{
if(b1[i] == b2[j])
{
int lenx = ;
for(int k = ; i+k < len1&&j+k < len2 ; k++)
{
if(b1[i+k] == b2[j+k])
lenx ++ ;
else break ;
}
if(len < lenx)
{
len = lenx ;
pos = i ;
}
break ;
}
}
}
if(len == -)
{
printf("NONE\n") ;
continue ;
}
for(int i = pos ; i < pos+len ; i++)
{
printf("%d ",b1[i]) ;
}
printf("\n") ;
sort(b1+pos,b1+pos+len,cmp) ;
for(int i = pos ; i < pos+len ; i++)
printf("%d ",b1[i]) ;
printf("\n") ;
}
}
return ;
}
POJ 4044 Score Sequence的更多相关文章
- poj 4044 Score Sequence(暴力)
http://poj.org/problem?id=4044 大致题意:给出两个班级的成绩,先按降序排序,而且没有成绩同样的.然后求连续的最长公共子序列.输出时,先输出最长公共子序列,然后按个位数字递 ...
- poj 1699 Best Sequence(AC自己主动机+如压力DP)
id=1699" target="_blank" style="">题目链接:poj 1699 Best Sequence 题目大意:给定N个D ...
- [poj P1141] Brackets Sequence
[poj P1141] Brackets Sequence Time Limit: 1000MS Memory Limit: 65536K Special Judge Description ...
- Poj 1019 Number Sequence( 数据分析和操作)
一.题目大意 有这样一个序列包含S1,S2,S3...SK,每一个Si包括整数1到 i.求在这个序列中给定的整数n为下标的数. 例如,前80位为1121231234123451234561234567 ...
- POJ 2478 Farey Sequence
名字是法雷数列其实是欧拉phi函数 Farey Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submi ...
- POJ 2478 Farey Sequence(欧拉函数前n项和)
A - Farey Sequence Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u ...
- POJ 2778 DNA Sequence(AC自动机+矩阵加速)
DNA Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9899 Accepted: 3717 Desc ...
- POJ 2593 Max Sequence
Max Sequence Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 17678 Accepted: 7401 Des ...
- POJ 3691 DNA Sequence (AC自动机 + 矩阵 有bug,待修改)
DNA Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9889 Accepted: 3712 Desc ...
随机推荐
- 弹性布局-flex
浅谈display:flex display:flex 意思是弹性布局 首先flex的出现是为了解决哪些问题呢? 一.页面行排列布局 像此图左右两个div一排显示 可以用浮动的布局方式 html部 ...
- c++11:function的用法
function是函数.函数对象.函数指针.和成员函数的包装器,可以容纳任何类型的函数对象,函数指针,引用函数,成员函数的指针 普通函数 #include <functional> voi ...
- Hadoop上路-01_Hadoop2.3.0的分布式集群搭建
一.配置虚拟机软件 下载地址:https://www.virtualbox.org/wiki/downloads 1.虚拟机软件设定 1)进入全集设定 2)常规设定 2.Linux安装配置 1)名称类 ...
- lower_bound和upper_bound
lower_bound:返回大于或等于val的第一个元素位置 upper_bound:返回大于val的第一个元素位置 两个函数用的都是二分查找
- 学习php中常用语句与函数
1.while循环多用于不清楚循环次数的情况下,如需要把从数据库中读取出的多条记录(不清楚到底有多少条)并且要根据某个字段的值进行分类,每类值的具体数目,如下图: 其中选项有三种值,对每个值的票数时行 ...
- js实现复制到剪切板
// <![CDATA[ function copy_clip(copy) { if (window.clipboardData) { window.clipboardData.setData( ...
- cadence PCB绘制步骤
1 创建一个PCB文件 file -> new 2 创建一个板框 add -> line ,在 options 选型中选择好,板框为 长 4400mil 宽 3200 3 给PCB板框 ...
- DRP PK 牛腩新闻发布系统
一.JSP与ASP (1)Web服务器的支持:大多数通用的Web服务器如:Apache.Netscape和Microsoft IIS都支持JSP页面,只有微软本身的Microsoft IIS和Pers ...
- iOS中的堆(heap)和栈(stack)的理解
操作系统iOS 中应用程序使用的计算机内存不是统一分配空间,运行代码使用的空间在三个不同的内存区域,分成三个段:“text segment “,“stack segment ”,“heap segme ...
- Eclipse常用功能
功能(Functions):内置运行java程序的插件(JDT:java develop tools)工作集(WorkSet)(Task list)计划任务管理器(Mylyn)系统配置(Prefere ...