Codeforces#441 Div.2 四小题

链接

A. Trip For Meal

小熊维尼喜欢吃蜂蜜。他每天要在朋友家享用N次蜂蜜 , 朋友A到B家的距离是 a ,A到C家的距离是b ,B到C家的距离是c  (A- >Rabbit   B- >Owl    C ->Eeyore),他不能连续两顿饭都在同一位朋友家里蹭

他现在位于A的家里, 请问他一天最少要跑多少路。

当然是要找一条最短的路折返跑了啊,是不是很简单。

#include<bits/stdc++.h>
using namespace std;
int N,a,b,c;
int main()
{
cin>>N>>a>>b>>c;
if (N==)printf("0\n");
else if (N==)printf("%d\n",min(a,b));
else if (N>=){
int k=min(a,b);
if(k<=c)
printf("%d\n",(N-)*k);
else printf("%d\n",k+(N-)*c);
}
return ;
}

A

B. Divisiblity of Differences

给你一个有N个元素的可重集合,你需要找出一个含k个元素的子集,使里面的数两两的差都能被m整除

差 + 整除 -> 同余 -> 子集中的数对m同余

每个数都mod m 然后枚举余数就好了。

#include<bits/stdc++.h>
using namespace std;
int N,M,K,a[],vis[],ans=-;
int main()
{
scanf("%d%d%d",&N,&K,&M);
for(int i=;i<=N;i++){
scanf("%d",&a[i]);
vis[a[i]%M]++;
}
for(int i=;i<M;i++){
if(vis[i]>=K){
ans=i;
break;
}
}
if(ans!=-){
printf("Yes\n");
for(int i=;i<=N&&K;i++)
if(a[i]%M==ans)printf("%d ",a[i]),K--;
printf("\n");
}
else printf("No\n");
}

B

C. Classroom Watch

先定义一个f(x) , f(x)的值就是  x的每一位加在一起 在加上它本身  f(123)=1+2+3+123=129

给你一个int范围内的整数N,求满足f(x)=N 的x有多少  和这些x的值

最多就十位数 各数位的数加在一起也超不过100  于是就 枚举 N-100~N 的所有数

#include<bits/stdc++.h>
using namespace std;
int N,ans[],cnt;
void judge(int x)
{
int sum=x,i=x;
while(i){
sum+=i%;
i=i/;
}
if(sum==N)ans[++cnt]=x;
}
int main()
{
scanf("%d",&N);
for(int i=N->=?N-:;i<=N;i++){
judge(i);
}
printf("%d\n",cnt);
for(int i=;i<=cnt;i++)
printf("%d\n",ans[i]);
return ;
}

C

D. Sorting the Coins

每次就是寻找最后一个O前面有多少x  ,很容易 ,看到有人拿树状数组什么的其实没必要 ,这个尤其好维护,而且很水

#include<bits/stdc++.h>
using namespace std;
int N,a[],vis[],ans;
int main()
{
scanf("%d",&N);
printf("1 ");
int zer=N;
for(int i=;i<=N;i++){
scanf("%d",&a[i]);
vis[a[i]]=;
if(a[i]>zer){
printf("%d ",ans+);
}
else{
ans++;
while(vis[zer])ans--,zer--;
printf("%d ",ans+);
}
}
return ;
}

D

最新文章

  1. @SuppressWarnings(&quot;finally&quot;)
  2. Ubuntu下面su初始密码设置
  3. Spring学习之AOP总结帖
  4. no suitable HttpMessageConverter found for request type [java.lang.Integer]
  5. SSIS WITH VERTICA的注意事项总结
  6. Swift - 手势识别
  7. TalkingData Cocos2dx集成指南【最新】
  8. Axure自动幻灯片制作
  9. android ScrollView中嵌套listview listview可点击处理,可展开
  10. nginx读取图片没有权限
  11. Asp.Net 常用工具类之Office—Excel导入(5)
  12. Linux中的端口占用问题
  13. jade的写法
  14. Java数据类型Stack栈、Queue队列、数组队列和循环队列的比较
  15. dedecms在后台替换文章标题、内容、摘要、关键字
  16. samba服务配置(二)
  17. maven如何将本地jar安装到本地仓库
  18. Go断后,Dart冲前,Google的野心
  19. Yii2 环境配置生产环境和测试环境
  20. PL/SQL控制语句(二、循环控制语句)

热门文章

  1. MyBatis数据持久化(四)类型别名
  2. 你不知道的JavaScript(七)delete操作符
  3. 51nod 1632 B君的连通
  4. Spannable对textview首行缩进的设置
  5. cmd 与 网卡(netsh 命令)
  6. 51nod 1079 中国剩余定理模板
  7. 紫书 习题 8-2 UVa 1610 (暴力出奇迹)
  8. cogs 141. [USACO Jan08] 奶牛的选举
  9. 这两道题目很相似 最优还钱方式 &amp; 除法推导
  10. 作为一个程序员怎么通过android开发赚钱