题目链接:https://vjudge.net/contest/147561#problem/A

题意:除法运算,abcde / fghij = n,从小到大输出,其中abcdefghij为0~9的不重复数字。

分析:

1、从小到大其实就是一大就跟着大。

2、不用枚举0~9的全排列,只用枚举其中一个数fghij即可,算出abcde,看是不是0~9都有。

Tip: sprintf(*,格式输入,*);用法,把目标数据转成char * 型。

 #include <bits/stdc++.h>

 using namespace std;

 int main()
{
//freopen("in.txt","r",stdin);
int n;
int kase = ;
while(scanf("%d",&n),n)
{
if(kase++)
puts("");
int cnt = ;
char buf[];
for(int fghij=;; fghij++)
{
int abcde = fghij*n;
sprintf(buf,"%05d%05d",abcde,fghij);
if(strlen(buf)>) break;
sort(buf,buf+); bool flag = true;
for(int i=; i<; i++)
if(buf[i]!=i+'')
{
flag = false;
break;
} if(flag)
{
cnt ++;
printf("%05d / %05d = %d\n",abcde,fghij,n);
} } if(cnt==)
printf("There are no solutions for %d.\n",n);
}
return ;
}

题目链接:https://vjudge.net/contest/147561#problem/B

题意:最大乘法,要你找出一个连续子序列乘积最大。

分析:打算枚举起点,终点,求和,肯定是TLE,利用前缀和的思想修改一下,变成前缀积。

 #include <bits/stdc++.h>
#include <algorithm> using namespace std; int x[]; int main()
{
int n;
int cases = ;
while(scanf("%d",&n)!=EOF)
{
for(int i=; i<n; i++)
scanf("%d",&x[i]); long long ans = ;
for(int i=; i<n; i++) {
long long tmp = ;
for(int j=i; j<n; j++)
{
tmp = tmp*(long long)x[j];
ans = max(ans,tmp);
}
}
printf("Case #%d: The maximum product is %lld.\n\n",cases++,ans); }
return ;
}

题目链接:https://vjudge.net/contest/147561#problem/C

题意:分数拆分。(x>=y) 找出所有 x,y,使得 1/k = 1/x + 1/y;

分析:由于是两个数的和,起点很容易知道,就是从 k 开始,但是不能够一直枚举下去,总要有一个结束点,这个结束点就是 2k,1/x + 1/y <= 2/y; 就有 y<=2k;

 #include <bits/stdc++.h>

 using namespace std;

 int main()
{ int k;
while(scanf("%d",&k)!=EOF) {
vector<int> ansx,ansy;
int cnt = ;
for(int y=k+;y<=*k;y++) {
if((y*k)%(y-k)==)
{
cnt ++;
int x = y*k/(y-k);
ansx.push_back(x);
ansy.push_back(y);
//printf("1/%d = 1/%d + 1/%d\n",k,x,y);
}
}
printf("%d\n",cnt);
for(int i=;i<cnt;i++)
printf("1/%d = 1/%d + 1/%d\n",k,ansx[i],ansy[i]);
}
return ;
}

题目链接:https://vjudge.net/contest/147561#problem/D

题意:素数环。

分析:http://www.cnblogs.com/TreeDream/p/5712621.html

枚举每一个位置,这个时候就要回溯了。

 #include <stdio.h>
#include <string.h> int prime[]= {}; ///是素数就是0
bool vis[];
int ans[];
int n; void dfs(int k)
{
if(k==n+)
{
for(int i = ; i <=n; i++)
{
if(i!= ) printf(" ");
printf("%d", ans[i]);
}
printf("\n");
return ;
}
else if(k==n)
{
for(int i=; i<=n; i++)
{
if(!vis[i]&&!prime[ans[k-]+i]&&!prime[i+ans[]])
{
ans[k] = i;
vis[i]=true;
dfs(k+);
vis[i] = false;
}
}
}
else
{
for(int i=; i<=n; i++)
{
if(!vis[i]&&!prime[ans[k-]+i])
{
ans[k] = i;
vis[i]=true;
dfs(k+);
vis[i] = false;
}
}
}
} int main()
{
//freopen("in.txt","r",stdin);
int kase = ;
///打出40个素数来
for(int i=; i<; i++)
if(!prime[i])
for(int j=i*i; j<; j+=i)
prime[j] = ; int Case = ;
while(scanf("%d",&n)!=EOF)
{
if(kase>) printf("\n");
memset(vis,false,sizeof(vis));
memset(ans,,sizeof(ans));
printf("Case %d:\n",Case++);
ans[] = ;
vis[] = true;
dfs();
kase++;
} return ;
}

题目链接:https://vjudge.net/contest/147561#problem/E

题意:困难的串,有相邻的重复子串的就不是困难的串。输入n ,l,l 为可供你多少个字符选择,找出困难串里面的字典序第 n 的串。

分析:

枚举当前位置的字符,但是你要查是否有连续子串,然后状态转移到下一个位置,至于字典序的问题,只要每次从A开始就行了,当有了n 个,就输出。

 #include <bits/stdc++.h>

 using namespace std;

 int n,l;
int cnt;
int s[]; int dfs(int cur)
{
if(cnt++==n)
{
for(int i=; i<cur; i++)
{
if(i%==&&i>) puts("");
else if(i%==&&i>) printf(" ");
printf("%c",'A'+s[i]);
}
printf("\n%d\n",cur);
return ;
} for(int i=; i<l; i++)
{
s[cur] = i;
int ok = ;
for(int j=; j*<=cur+; j++)
{
int equal = ;
for(int k=; k<j; k++)
{
if(s[cur-k]!=s[cur-k-j])
{
equal = ;
break;
}
}
if(equal) {
ok = ;
break;
}
}
if(ok) if(!dfs(cur+)) return ;
}
return ;
} int main()
{
while(scanf("%d%d",&n,&l),n)
{
cnt = ;
dfs();
} return ;
}

Hao Yin Jian 寒假第一周的更多相关文章

  1. FJUT寒假第一周作业浮点数查寻题解

    二分强化——浮点数序列查询 TimeLimit:4000MS  MemoryLimit:128MB 64-bit integer IO format:%I64d Problem Description ...

  2. 【Four-Week-Task】四周学习CTF之第一周【寒假更新】

    写在最前:为了更好地系统学习CTF(楞头冲很惨 别问我怎么知道的 除非你是天才),决定先看再学,先正向再逆向. /* 出版排版规范中,标题序号等级为:第一级,一.二.三.(用顿号):第二级,(一).( ...

  3. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 《Java程序设计》第一周学习总结

    20145224 <Java程序设计>第一周学习总结 教材学习内容总结 通过第一周的学习让我对Java有了个初步的了解,知道了Java分为Java SE.Java EE.Java ME三大 ...

  5. 20175221 2018-2019-2 《Java程序设计》第一周学习总结

    20175221 2018-2019-2 <Java程序设计>第一周学习总结 教材学习内容总结 本周通过观看书本配套视频,学到了如解释器,编译器等一些简单概念. 还懂得了java的一些简单 ...

  6. 《JAVA程序设计》_第一周学习总结

    20175217吴一凡 <java程序设计> 第一周学习总结 虽然已经做好了心理准备,但第一周的学习任务着实让我忙了整整三天,还是挺充实的吧.寒假已经在自己的电脑上安装好了虚拟机,我就在我 ...

  7. C语言程序设计II—第一周教学

    第一周教学总结(25/2-3/3) 教学内容 开学谈心 测验数据类型.运算符与表达式的自学情况,并讲解测验题目 第七章 数组 7.1 一维数组 课前准备 在蓝墨云发布资源:回顾数据类型与表达式测试活动 ...

  8. C语言程序设计I—第一周教学

    这是在修改人才培养方案后第一次上C语言程序设计课程,本课程由原来的1学期80课时(周学时6)修改为2学期48(周学时4)+32(周学时2)课时的模式,开课学期也由一年二期改为大一整学年,当时修改的主要 ...

  9. 20145326《Java程序设计》第一周学习总结

    20145326<Java程序设计>第一周学习总结 教材学习内容总结 转眼间新的一学期终于开始了!为什么我这么期待呢?因为这学期可以上娄嘉鹏老师的java程序设计课,我不是什么电脑天才,之 ...

随机推荐

  1. spring MVC之返回JSON数据(Spring3.0 MVC)

    方式一:使用ModelAndView的contentType是"application/json" 方式二:返回String的            contentType是&qu ...

  2. Eclipse的Java工作集和多工程构建路径

    一.Java工作集: Eclipse有一个小功能,就是创建Java Working Set.它的作用是解决Package Explorer窗格中创建很多工程时出现拥挤的麻烦. 在创建(New对话框)时 ...

  3. 【第k小素数 】 打表问题

    Prime Number TimeLimit: 1 Second MemoryLimit: 32 Megabyte Totalsubmit: 399 Accepted: 88 Description ...

  4. Android------自定义ListView详解

    引自:http://www.cnblogs.com/phonegap/archive/2011/04/28/2535732.html 在这里我就对自定义ListView进行讲解下吧,直入真题吧,首先我 ...

  5. [数据结构]Splay简介

    Splay树,又叫伸展树,可以实现快速分裂合并一个序列,几乎可以完成平衡树的所有操作.其中最重要的操作是将指定节点伸展到指定位置, 目录 节点定义 旋转操作 伸展操作 插入操作 删除操作 lower_ ...

  6. LINQ to SQL语句之Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods

    我们继续讲解LINQ to SQL语句,这篇我们来讨论Union All/Union/Intersect操作和Top/Bottom操作和Paging操作和SqlMethods操作 . Union Al ...

  7. Struts2--Dynamic Result动态结果集

    ${r} : 表示配置文件xml可以读取action的valuestack的内容 1. jsp显示文件: <body> 动态结果 一定不要忘了为动态结果的保存值设置set get方法 &l ...

  8. Scratch2.0例—接苹果

    Scratch2.0例—接苹果 [教学目标] 1. 学习例子,能用和构造条件 ,并把此条件插入到 中:能理解和应用,当条件成立时,不执行积木内的脚本. 2. 对比和 两个积木:前者用于无条件的重复执行 ...

  9. java 读excel xlsx

    http://bbs.csdn.net/topics/380257685 import java.io.File; import java.io.IOException; import java.io ...

  10. CI如何在子目录下可以设置默认控制器

    CI建立大型大型的应用程序,需要创建子文件夹在application/controllers下建立文件夹app1app1目录下有多个控制器,ca.php,cb.php我希望定义app1下的默认控制器, ...