暑假集训第一周比赛C题
Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Description
现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位数。
Input
Output
每组输出数据间空一行,最后一组数据后面没有空行。
Sample Input
1 1 2 3
0 1 2 3
0 0 0 0
Sample Output
在这里我想提一下Presentation Error是格式错误,其实离正确答案很近了,也许就差一个回车、tab或空格之类的这时候你就要检查你的程序的输出和题上的要求是否一致
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
using namespace std;
#define Swap(a, b)(t=a, a=b, b=t)
#define N 26
int origin[4], later[N], m, q[5][30], a, b, c, d, ff=0;
void perm(int s, int e);
void print();
int main()
{
int i, j, t, f=0;
while(1)
{
a=0;b=0;c=0;d=0;m=0; for(i=0; i<4; i++)
scanf("%d", &origin[i]); if(origin[0]==0&&origin[1]==0&&origin[2]==0&&origin[3]==0)
break;
if(f==1)
printf("\n");
else
f=1;//我就是吧上面那个和这个弄反了才导致错了 for(i=0; i<3; i++)
for(j=i+1; j<4; j++)
{
if(origin[i]>origin[j])
Swap(origin[i],origin[j]);
} later[m++]=origin[0];
for(i=1; i<4; i++)
{
if(origin[i]!=origin[i-1])
later[m++]=origin[i];
}
if(later[0]==0)
ff=1;
perm(0, 3);
print();
}
}
void perm(int s, int e)
{
int i, t, x, flag;
if(s==e)
{
x=0;
if(origin[0]!=0)
{
for(i=0; i<=e; i++)
x=x*10+origin[i];
for(i=0; i<m; i++)
if(origin[0]==later[i])
flag=i;
switch (flag)
{
case 0: q[0][a++]=x; break;
case 1: q[1][b++]=x; break;
case 2: q[2][c++]=x; break;
case 3: q[3][d++]=x; break;
}
} return;
}
for(i=s; i<=e; i++)
{
Swap(origin[i], origin[s]);
perm(s+1, e);
Swap(origin[i], origin[s]);
}
}
void print()
{
int i, j, k, l, t;
for(j=0; j<m; j++)
{
switch(j)
{
case 0: k=a; break;
case 1: k=b; break;
case 2: k=c; break;
case 3: k=d; break;
}
for(i=0; i<k-1; i++)
for(l=i+1; l<k; l++)
if(q[j][i]>q[j][l])
Swap(q[j][i],q[j][l]);
}
for(j=0; j<m; j++)
{
if(ff==1)
{
j++;
ff=0;
}
switch(j)
{
case 0: k=a; break;
case 1: k=b; break;
case 2: k=c; break;
case 3: k=d; break;
}
printf("%d", q[j][0]);
for(i=1; i<k; i++)
{
if(q[j][i]!=q[j][i-1])
printf(" %d", q[j][i]);
}
printf("\n");
}
}
暑假集训第一周比赛C题的更多相关文章
- 暑假集训第一周比赛G题
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=83146#problem/G G - 向 Crawling in process... C ...
- STL 入门 (17 暑假集训第一周)
快速全排列的函数 头文件<algorithm> next_permutation(a,a+n) ---------------------------------------------- ...
- AYIT-2020 609暑假集训第一周周赛题 A - A计划
可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验.魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的肉也能长生不老.年迈的国王正是心急如焚,告招天下 ...
- HUAS 2018暑假第一周比赛-题解
小朋友们有问题评论区 :) B. 子串计算 难度系数 : ☆ Main idea : 模拟 暴力 按照题目的要求一步一步来就行了 之所以可行的原因是从左往右扫,如果扫到一个子串,把它删除掉之后,假设当 ...
- (未完成)catalyst-system WriteUp(2019暑假CTF第一周reverse)
目录 预备学习--Linux实践:ELF文件格式分析 一.概述 二.分析ELF文件头(ELF header) 三.通过文件头找到section header table,理解其内容 四.通过secti ...
- CodeForces 478B 第六周比赛B题
B - B Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Descriptio ...
- LightOJ 1317 第六周比赛A题
A - A Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu Description Y ...
- HUAS 2017暑假第六周比赛-题解
A.Parenthesis 括号匹配的问题有一种经典的做法. 将左括号看成1,右括号看成-1,做一遍前缀和sum. 括号序列是合法的当且仅当\(sum[n]=Min(sum[1],sum[2].... ...
- 欢迎来到地狱 WriteUp(2019暑假CTF第一周misc)
目录 0707,0708,0709 题目地址:欢迎来到地狱 1.地狱伊始.jpg 1.5地狱之声.wav 2.第二层地狱.docx 3.快到终点了.zip 参考 0707,0708,0709 题目地址 ...
随机推荐
- go http请求基础
1.请求方法: get post get 加请求参数,请求参数会加到url后面 post加请求参数,请求参数会放在body里面 请求方式:1.直接在url后面加参数 如:http://www.tes ...
- Ansible@一个高效的配置管理工具--Ansible configure management--翻译(五)
无书面许可请勿转载 高级Playbook Extra variables You may have seen in our template example in the previous chapt ...
- linux网络及防火墙配置命令
/etc/sysconfig/network 包括主机基本网络信息,用于系统启动 /etc/sysconfig/network-script/ 此目录下是系统启动最初始化网络的信息 /etc/sy ...
- 基于JT/T 1078协议设计和开发部标视频服务器
交通部与2016年10月份推出了JT/T 1078-2016标准,全称是<道路运输车辆卫星定位系统视频通信协议>.该标准将改变以往两客一危车辆的视频监控设备通信协议都是设备厂商私有协议的局 ...
- es6 初始化样式加载到head中
Demo1:function loadCss(css) { css.forEach((path)=>{ console.log($('<link/>', { rel: 'styles ...
- map 玩家上线
map 玩家上线 else if(gs2ms_add_player == pkt.cmd) { PlayerChannel* pPC = new PlayerChannel(this); //加到地图 ...
- Pairs of Integers
Pairs of Integers You are to find all pairs of integers such that their sum is equal to the given in ...
- Arrays数组工具类中存在的坑!
以下是一个坑: 看到使用asList时候,可以返回一个集合,当然集合拥有CRUD的特性: 代码中使用 了add和remove时候均报错:Exception in thread "main&q ...
- api 爬虫 避免相同 input 在信息未更新 情况下 重复请求重复
限
- ubuntu编译内核模块报错:Required key not available 的解决
系统为ubuntu18.04, 在编译内核模块insmod helloworld.ko的时候提示如下错误. 出现此问题的原因是,Ubuntu Kernel 使用 EFI_SECURE_BOOT_SIG ...