saima.cpp

来自「这是学校ACM程序设计大赛的题目,拿出来大家算是当练习」· C++ 代码 · 共 74 行

CPP
74
字号
#include <stdio.h>
#include <stdlib.h>

void sort_a(int *a, int total)
{
	for(int i=0; i<total-1; i++)
	{
		for(int j=i+1; j<total; j++)
		{
			if(a[i]>a[j])
			{
				int temp;
				temp=a[i];
				a[i]=a[j];
				a[j]=temp;
			}
		}
	}
}

void pand_r(int *a, int *b, int total)
{
	bool pand=true;
	if(total%2==0)
	{
		for(int i=0; i<=total/2; i++)
		{
			if(a[total/2-1+i]<=b[i])
				pand=false;
		}
	}
	else
	{
		for(int j=0; j<=total/2; j++)
		{
			if(a[total/2+j]<=b[j])
				pand=false;
		}
	}
	if(pand==false)
		printf("NO\n");
	else
		printf("YES\n");
}
void main()
{
	FILE *fp;
	if((fp=fopen("saima.in","r"))==NULL)
	{
		printf("can't open file\n");
		exit(0);
	}
	int total;
	fscanf(fp,"%d",&total);
	while(total!=0)
	{
		int *array=(int *)malloc((total+1)*sizeof(int));
		int *brray=(int *)malloc((total+1)*sizeof(int));
		for(int i=0; i<total; i++)
			fscanf(fp,"%d",array+i);
		for(int j=0; j<total; j++)
			fscanf(fp,"%d",brray+j);
		sort_a(array,total);
		sort_a(brray,total);
/*		for(i=0; i<total; i++)
			printf("%d ",array[i]);
		printf("\n");
		for(j=0; j<total; j++)
			printf("%d ",brray[j]);
		printf("\n");*/
		pand_r(array,brray,total);
		fscanf(fp,"%d",&total);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?