暑假集训第一周比赛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 题目地址 ...
随机推荐
- PATHINFO模式是thinkphp特有的吗?
pathinfo当然不是某个框架特有的,pathinfo严格上讲是HTTP服务器提供的一个预定义变量,在许多的框架中有一个重要的组件叫做路由器,这个组件可以通过使用pathinfo来实现. 考虑以下代 ...
- Struts2 后台获取路径的几种方法
Struts2 后台获取路径的几种方法 package actions.app; import java.io.File; import org.apache.struts2.ServletActio ...
- 【Python + Selenium】之JS定位总结
感谢:小琰子 Python+Selenium 脚本中的一些js的用法汇总: 1.滚动条 driver.set_window_size(500,500) js = "window.scroll ...
- 【整理】Android中EditText中的InputType类型含义与如何定义( 转 )
转自:[整理]Android中EditText中的InputType类型含义与如何定义 用到的时候查到了这篇文章觉得很不错,就在此记录下. [背景] 经过一些Android中EditText方面的折腾 ...
- PHP -- 问题
@.源码安装,最开始,自己通过 ./config make make install三步,啥参数也没加,安装好之后,发现/usr/local/php下就一个man文件夹,死都没找到php-fpm之 ...
- ios 即时通讯 xmpp
[iPhone高级] 基于XMPP的IOS聊天客户端程序(XMPP服务器架构) http://blog.csdn.NET/kangx6/article/details/7739828 [iPhone高 ...
- Elasticsearch集群问题,导致主master节点发现不了node节点
个人博客:https://blog.sharedata.info/ 最新需要配置es集群采用5个分片和1个副片,正好是11台机器,而只保留一份备份所以只需要5*2=10台机器方案:1.1台作为mast ...
- [CMD]重启电脑
https://zhidao.baidu.com/question/686086701903450132.html bat是批处理,可以调用关机命令关机. 制作方法如下: 打开记事本程序: 输入如下内 ...
- 线性同余方程模板( A+C*x=B(mod D) )
void extendgcd(long long a,long long b,long long &d,long long &x,long long &y) { ){d=a;x ...
- PHP 和 AJAX MySQL 数据库实例
HTML 表单 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...