简单的acm题目 - - 。求大神 是c语言
发布网友
发布时间:2022-05-06 16:53
我来回答
共2个回答
热心网友
时间:2023-10-12 16:57
#include <stdio.h>
int main() {
int w, n;
while (scanf("%d%d", &w, &n) != EOF) {
int i, j, money[30002], temp, count = 0;
for (i = 0 ; i < n ; i++)
scanf("%d", &money[i]);
for (i = 1 ; i < n ; i++)
for (j = 0 ; j < i ; j++)
if (money[i] < money[j])
temp = money[i], money[i] = money[j], money[j] = temp;
i = 0, j = n - 1;
while (n > 0) {
if (i == j)
n--, count++;
else if (money[i] + money[j] <= w)
n = n - 2, i++, j--, count++;
else
n--, j--, count++;
}
printf("%d\n", count);
}
return 0;
}
热心网友
时间:2023-10-12 16:57
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
struct node
{
int flag;
int num;
}a[30010];
int cmp(node x,node y)
{
if(x.num!=y.num) return x.num>y.num;
}
int main()
{
int i,j,n,m,sum,x;
scanf("%d%d",&n,&m);
memset(a,0,sizeof(a));
for(i=0;i<m;i++)
scanf("%d",&a[i].num);
sort(a,a+m,cmp);
sum=0;
for(i=0;i<m;i++)
{
x=0;
for(j=m-1;j>=0;j--)
{
if(j==i)
continue;
if(a[i].num+a[j].num<=n&&a[j].flag==0&&a[i].flag==0)
{
a[j].flag=1;
a[i].flag=1;
sum++;
x=1;
break;
}
}
if(x==0&&a[i].flag==0){ sum++;}
}
printf("%d\n",sum);
return 0;
}
热心网友
时间:2023-10-12 16:57
#include <stdio.h>
int main() {
int w, n;
while (scanf("%d%d", &w, &n) != EOF) {
int i, j, money[30002], temp, count = 0;
for (i = 0 ; i < n ; i++)
scanf("%d", &money[i]);
for (i = 1 ; i < n ; i++)
for (j = 0 ; j < i ; j++)
if (money[i] < money[j])
temp = money[i], money[i] = money[j], money[j] = temp;
i = 0, j = n - 1;
while (n > 0) {
if (i == j)
n--, count++;
else if (money[i] + money[j] <= w)
n = n - 2, i++, j--, count++;
else
n--, j--, count++;
}
printf("%d\n", count);
}
return 0;
}
热心网友
时间:2023-10-12 16:57
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
struct node
{
int flag;
int num;
}a[30010];
int cmp(node x,node y)
{
if(x.num!=y.num) return x.num>y.num;
}
int main()
{
int i,j,n,m,sum,x;
scanf("%d%d",&n,&m);
memset(a,0,sizeof(a));
for(i=0;i<m;i++)
scanf("%d",&a[i].num);
sort(a,a+m,cmp);
sum=0;
for(i=0;i<m;i++)
{
x=0;
for(j=m-1;j>=0;j--)
{
if(j==i)
continue;
if(a[i].num+a[j].num<=n&&a[j].flag==0&&a[i].flag==0)
{
a[j].flag=1;
a[i].flag=1;
sum++;
x=1;
break;
}
}
if(x==0&&a[i].flag==0){ sum++;}
}
printf("%d\n",sum);
return 0;
}
简单的acm题目 - - 。求大神 是c语言
include <stdio.h> int main() { int w, n;while (scanf("%d%d", &w, &n) != EOF) { int i, j, money[30002], temp, count = 0;for (i = 0 ; i < n ; i++)scanf("%d", &money[i]);for (i = 1 ; i < n ; i++)for (j = 0 ; j < i ; j++)if (m...
一道C语言即简单又恶心的ACM题,求高人帮忙。
printf("%d",c[k]);printf("\n");} else { for(k=k-1;k>=0;k--)printf("%d",c[k]);printf("\n");} } }
杭电acm1002题C语言答案是什么???求高手!
1.。。。scanf("%c",a);输入一个字符???改成%s骚年。。。2。。。for(i=0;i<=101;i++)题目没有说输入的没个数都是101位吧。。如果输入的数没有101位你的c[i]=a[i]+b[i]-96; c[i]系统会给你随机数的。。。3。。。加法是从个位开始加的吧,你的a[0]、b[0]应该是输入...
c语言,,acm比赛题目,求解
#include<stdio.h>//判定一次比赛的输赢int single_game(int m1, int s1, int x1, int m2, int s2, int x2){while(x1!=0 && x2!=0){if(x1!=0){m2 -= s1;x1--;}if(m2<=0)return 1;if(x2!=0){m1 -= s2;x2--;}if(m1<=0)return -1;}return 0;}int main(){int...
(C语言)小明的女神,大神求解,为什么acm的时候这题别人用数组做的提交...
中间break导致下一组输入不正确。你改成这样试试 include <stdio.h>int main(){ int t,sum,i,m,n,flag; while(~scanf("%d",&t)) { while(t--) { sum=0; flag =1; scanf("%d",&n); while(n--) { scanf("%d%d",&i,&m); sum+=i; ...
求大神C语言写一下
贴一个我的思路:int index; // 范围 : 1- 10^5 int类型够了、printf("请输入index:范围 1- 10^5 ")scanf("%d",&index);int *p = (int*) malloc(sizeof(int )*index);// 赋值 int i = 0; // 循环变量 for(i = 0; i< index ; i++){ printf(“...
求问个c语言问题 acm题(不能遍历 否则一定超时),
继续求大于A1小于B的最小Ada值。直至求得的Ada数大于B,跳出循环,得到计数。至于求大于A的最小Ada方法:首先看A是不是Ada数,如若不是,取到A的所有位的数,然后找到一个大于A的最小Ada。。。过于具体的细节不再讨论 描述可能有点啰嗦,简而言之,就是直接构造Ada数,而不是一个一个去遍历。
有谁知道ACM到底考什么啊 ,是C语言吗?有什么参考书吗
主要工具是C语言。很多大学都会有关于ACM的练习题,最出名的是北大和浙大的ACM网站。浙大ACM:http://acm.zju.edu.cn/ 北大ACM:http://acm.pku.edu.cn/JudgeOnline/ 我想说明的是比赛一组最多三个人,比赛5个小时,相当考验参赛者的编程思维和团队配合能力,而且ACM大赛的试题全部用英文描述,非常...
acm题目的a+b用c语言怎么写
int main(){ int a,b;while(scanf("%d d",&a,&b)!=EOF){ printf("%d\n",a+b);} return 0;} 这才是他们所谓的标准答案 输入ctrl+z结束输入 但我觉得你写的不错~~因为scanf("%d d",&a,&b)的返回值只有当a b 都正确读入才会是2 只有a读入是1 都没读入就是0 而且结束输入也...
acm题,c语言,快速选择法从大到小排序n个数,并输出前m个数 代码怎么改都...
include<stdio.h>int a[1000001];int i,j,key;void quicksort(int low,int high,int a[]) {if(low < high) {i = low;j = high;key = a[i];}while(i < j) {while(a[j] < key && i < j) j--;if(a[j] > key && i < j) {a[i] = a[j];a[j] = key;i++;...