A

解法:dfs搜索,注意一个剪枝,否则会超时(听说原本是个dp)?

#include<stdio.h>
//#include<bits/stdc++.h>
#include<string.h>
#include<iostream>
#include<math.h>
#include<sstream>
#include<set>
#include<queue>
//#include<map>
#include<vector>
#include<algorithm>
#include<limits.h>
#define inf 0x3fffffff
#define INF 0x3f3f3f3f
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define ULL unsigned long long
using namespace std;
int n,m,k,MIN;
int v,u,w;
int i,j;
int map[1100][1100];
void dfs(int s,int num,int sum)
{
if(s==n)
{
MIN=min(sum,MIN);
return ;
}
if(num==k)
return ;
for(int i=1;i<=n;i++)
{
if(map[s][i]!=-1&&sum+map[s][i]<=MIN)
dfs(i,num+1,sum+map[s][i]);
}
}
int main()
{
while(~scanf("%d%d%d",&n,&m,&k))
{
if(n+m+k==0) break;
memset(map,-1,sizeof(map));
for(i=0;i<m;i++)
{
cin>>u>>v>>w;
map[u][v]=map[v][u]=w;
}
MIN=inf;
dfs(1,0,0);
if(MIN==inf)
{
puts("CONTINUE LOL!");
}
else
{
printf("%d\n",MIN);
}
}
return 0;
}

B

解法:模拟,移动数组

#include <stdio.h>
int main()
{
int n,q;
int a[100];
while(~scanf("%d%d",&n,&q)&&(n+q))
{
int xi;
int c=1;
for(int i=1;i<=n;i++)
{
a[i-1]=c;
c++;
}
while(q--)
{
scanf("%d",&xi);
int b=a[xi-1];
for(int i=xi-1;i>=0;i--)
{
a[i]=a[i-1];
}
a[0]=b;
}
for(int i=0;i<n;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
return 0;
}

C

解法:字符串匹配

#include<stdio.h>
#include<string.h>
int main()
{
char a[100000];
char b[100000];
int n;
while(scanf("%d",&n)!=EOF)
{
while(n--)
{
scanf("%s%s",a,b);
if(strstr(b,a)!=NULL)
printf("YES\n");
else
printf("NO\n");
}
}
}

D

解法:链接:http://blog.csdn.net/ramay7/article/details/50328357

#include <stdio.h>
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
long long u, d, ans, cases = 0,t;
while (~scanf("%lld%lld", &u, &d))
{
if(u==0&&d==0) break;
ans = 0;
while (d)
{
ans += u / d;
t = u%d;
u = d;
d = t;
}
printf("%lld\n", ans);
}
return 0;
}

E

解法:链接http://acm.hdu.edu.cn/showproblem.php?pid=1205

#include <stdio.h>
int a[1000100];
int main()
{
int i,n,t,max;
int sum;
scanf("%d",&t);
while(t--)
{
sum=0;
scanf("%d",&n);
max=-1;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
if(a[i]>max) max=a[i];
}
// printf("%d %d\n",Max,sum);
sum=sum-max+1;
if(sum>=max) printf("Yes\n");
else printf("No\n");
}
return 0;
}

F

解法:模拟

#include <iostream>
#include<stdio.h>
using namespace std;
typedef struct stdust
{
char name[100];
int score;
} hehe; int main ()
{
int n,x,i,sum,zhang,d;
cin>>x;
{
while(x--)
{
cin >> n;
sum=0;
zhang=0;
hehe stdust[n];
for (int i=0; i<n; i++)
cin >> stdust[i].name >> stdust[i].score;
for(int i=0; i<n; i++)
{
if(stdust[i].score<=40)
sum+=1;
if(stdust[i].score>40)
{
if(stdust[i].score%40==0)
d=stdust[i].score/40;
else
d=stdust[i].score/40+1;
sum+=d;
zhang+=3;
} }
cout<<sum<<" "<<zhang<<endl;
}
}
}

G

解法:没有什么好说的

#include<stdio.h>
int main()
{
int n,a,sum;
while(scanf("%d",&n),n)
{
sum=0;
while(n--)
{
scanf("%d",&a);
sum+=a;
}
printf("%d\n",sum);
}
return 0;
}

H

解法:暂无(记忆化搜索??)

2013年江西理工大学C语言程序设计竞赛(高级组)的更多相关文章

  1. 2014江西理工大学C语言程序设计竞赛高级组题解

    1001 Beautiful Palindrome Number 枚举回文数字前半部分,然后判断该数字是否满足,复杂度为O(sqrt(n))! 1002 Recovery Sequence  本题的核 ...

  2. 2017年江西理工大学C语言程序设计竞赛(高级组)

    问题 A: 求近似值 #include <stdio.h> #include <time.h> #include <stdlib.h> using namespac ...

  3. 2018年江西理工大学C语言程序设计竞赛(高级组) 三角平方数

    题目描述 三角数:形如图a,圆点摆放成等边三角形的数字,则为三角数. (图a) 平方数:形如图b,小方块摆放成正方形的数字,则为平方数. (图b) 那么如果一个数字既是三角形数又是平方数,则称为三角平 ...

  4. 2018年江西理工大学C语言程序设计竞赛高级组部分题解

    B Interesting paths 考察范围:组合数学 此题是机器人走方格的变种,n*m的网格,从(1,1)走到(n,m),首先可以明确,水平要走m-1格,竖直要走n-1格,则走到目的地的任意一条 ...

  5. 2018年江西理工大学C语言程序设计竞赛(初级组)一

     C语言竞赛初级组第一.二场答案:https://www.cnblogs.com/xingkongyihao/p/10046918.html  A: 逆序对 时间限制: 1 s      内存限制:  ...

  6. 2013年江西理工大学C语言程序设计竞赛(初级组)

    ACM ICPC WORLD FINAL 解法:排序大家都知道,去重的话,初学者用数组就好了 #include<algorithm> #include<iostream> us ...

  7. 2017年江西理工大学C语言程序设计竞赛(初级组)

    问题 A: Petr的盒子(初) #include <iostream> #include <stdio.h> #include <algorithm> using ...

  8. 2014江西理工大学C语言程序竞赛高级组

    Beautiful Palindrome Number 题意:求N里面有多少个符合要求的数字(数字要求:回文数,且前一半部分是不严格递增) 解法:打表 #include<bits/stdc++. ...

  9. 2016年江西理工大学C语言程序设计竞赛(高级组)

    问题 A: jxust 解法:争议的问题(是输入整行还是输入字符串),这里倾向输入字符串,然后判断是否含有jxust就行 #include<bits/stdc++.h> using nam ...

随机推荐

  1. poj 1417(并查集+简单dp)

    True Liars Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2087   Accepted: 640 Descrip ...

  2. 用Appium去操作移动设备上的chrome

    最近在积极努力的学习Appium,今天成功运行了官网上的demo,在此做一个小小的总结: 前期准备工作: (1)在要运行的真机或模拟器上安装chrome. 注意:x86的虚拟机是不支持的,但是经过本人 ...

  3. 常见的appbug(转)

    移动App Bug的影响是用户体验差.App的商店评级下降.用户换用竞争对手的App,声誉和信誉损失.最后销售量减少,如果它是一个付费App的话. 移动App测试与传统台式机测试相比有一定的复杂性.这 ...

  4. 如何彻底卸载MySQL

    如何彻底卸载MySQL 下面给出完整的卸载MySQL 5.1的卸载方法: 1.控制面板里的增加删除程序内进行删除 2.删除MySQL文件夹下的my.ini文件,如果备份好,可以直接将文件夹全部删除 3 ...

  5. HDU 5029 Relief grain(离线+线段树+启发式合并)(2014 ACM/ICPC Asia Regional Guangzhou Online)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5029 Problem Description The soil is cracking up beca ...

  6. innodb内部的并发线程

    1. innodb_thread_concurrency innodb有一系列的计数器来统计和控制内部的工作线程.其中最重要的一个是innodb_thread_concurrency,和它相关的inn ...

  7. linux设备驱动归纳总结(三):5.阻塞型IO实现【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-60025.html linux设备驱动归纳总结(三):5.阻塞型IO实现 xxxxxxxxxxxxxx ...

  8. python编码:gbk编码与解码

    从RF输入的中文会进行unicode编码:u'\u6587\u4ef6\u5230\u8fbe\u6210\u529f' 从orc数据库查询到的中文会进行gbk编码得到ASCII:'\xce\xc4\ ...

  9. Linux安装JDK、MyEclipse、MySql

    一.将下载好的 jdk-7u79-linux-x64.tar.gz 复制到要安装的目录 /usr/lib/jdk (注:jdk文件夹自己创建 sudo mkdir jdk)二.进入到目录 /usr/l ...

  10. https笔记

    TCP提供了可靠的,面向连接的字节流服务. 1)应用数据分割成TCP认为适合发送的数据块,通过MSS(最大数据包长度)来控制. 2)重传机制 3)对首部和数据进行校验 4)TCP对收到的数据进行排序, ...