`
jackchen0227
  • 浏览: 143030 次
  • 性别: Icon_minigender_1
  • 来自: 帝都
社区版块
存档分类
最新评论

joj:1011: If only I had a Venn diagram差集的计算

    博客分类:
  • ACM
J# 
阅读更多
#include <stdio.h>
int a[100];
int b[100];
int res[100];
/*
选择排序
*/
void sortBySelect2(int *array,int len)
{
	for(int i=0;i<len - 1;i++)
	{
		int t = 0;
		int tmp;
		for(int j=i;j<len;j++)
		{
			if(array[j] < array[i])
			{
				t = j;
				tmp = array[i];//每次都得交换
				array[i] = array[t];
				array[t] = tmp;
			}				
		}
		
	}
}
/*
错误的选择排序
*/
void sortBySelect(int *array,int len)
{
	for(int i=0;i<len - 1;i++)
	{
		int t = 0;
		int tmp;
		for(int j=i;j<len;j++)
		{
			if(array[j] < array[i])
				t = j;
		}
		tmp = array[i];
		array[i] = array[t];
		array[t] = tmp;
	}
}
/*
两个元素中的相同元素被设置成 -1,由于集合中只有正数,没有负数
*/
void reversDifference(int len1,int len2)
{
	for(int i=0;i<len1;i++)
	{
		for(int j=0;j<len2;j++)
		{
			if(a[i] == b[j])
			{
				a[i] = -1;
				b[j] = -1; 
			}
		}
	}	
	int k = 0;
	i = 0;
	for(i=0;i<len1;i++)
	{
		if(a[i] == -1)
			continue;
		res[k] = a[i];
		k++;
	}
	for(i=0;i<len2;i++)
	{
		if(b[i] == -1)
			continue;
		res[k] = b[i];
		k++;
	}
	if(k == 0)
	{
		printf("{}\n");
		return;
	}
	sortBySelect2(res,k);
	printf("{");
	for(i=0;i<k-1;i++)
		printf("%d,",res[i]);
	printf("%d}\n",res[i]);
}
/*
这种思路是找两个集合的不同元素,得找两次
所以的两次双重循环
*/
void difference(int len1,int len2)
{
	int k = 0;
	for(int i=0;i<len1;i++)
	{
		for(int j=0;j<len2;j++)
		{
			if(a[i] == b[j])
				break;
		}
		if(j >= len2)
		{
			res[k] = a[i];
			k++;
		}
	}
	for( i=0;i<len2;i++)
	{
		for(int j=0;j<len1;j++)
		{
			if(b[i] == a[j])
				break;
		}
		if(j >= len1)
		{
			res[k] = b[i];
			k++;
		}
	}
	for(int m=0;m<k;m++)
		printf("%d,",res[m]);
	printf("}\n");
}
int main()
{
	int time;
	freopen("in.txt","r",stdin);
	scanf("%d",&time);
	for(int i=0;i<time;i++)
	{
		int i = 0;
		while(scanf("%d",&a[i]),a[i])
			i++;
		
		int j = 0;
		while(scanf("%d",&b[j]),b[j])
			j++;
		//difference(i , j ); //注意此时的数组长度是i,j不用在减去1
		reversDifference(i,j);
	}
	fclose(stdin);
	return 0;
}

 

分享到:
评论

相关推荐

    joj 部分题目答案 自己做的 仅供参考

    joj 部分题目答案 自己做的 仅供参考 joj 部分题目答案 自己做的 仅供参考 joj 部分题目答案 自己做的 仅供参考 joj 部分题目答案 自己做的 仅供参考 joj 部分题目答案 自己做的 仅供参考

    joj上做的一些ACM试题

    在JOJ上做的一些ACM试题,都通过在线测试。

    joj.rar_joj

    本程序能实现操作系统中的先进先出页面置换算法

    joj acm 部分习题解答

    一些题目解答 1001-1012 自己做的,希望能帮助到一些朋友

    JOJ-jilin-university--acm.rar_joj

    可以为在JOJ上练习的同学做入门使用,这些代码全部通过。

    acm.rar_acm jlu 10_acm jlu 1029_joj 1237_joj10

    joj acm 源代码,即一些题得答案,方便大家联系参考。加油吧。

    JoJ-crx插件

    Etre au courant quand JoJ est en live,策划人semaine et liens vers lesréséauxauxsocioaux Soyez au courant纠结JoJ开始à流光! 现场直播将继续进行。 约翰·奎因·伊斯特·布鲁和克林·德集团的非官方网站 D...

    吉林大学 joj 1000-2645题代码

    吉林大学 joj 1000-2645题代码,嘿嘿,大家就不用在花JPOINT买代码了,祝ACMer实现自己的心愿

    Joj - Java Version of Java-开源

    Joj 以与 JDOM 提供 XML 的 Java 表示类似的方式提供 Java 源代码的 Java 对象表示。

    joj 1424 硬币兑换问题

    硬币转化问题。用动态规划解决,不是很难。

    acm joj 1600

    关于大数取模的运算,比如说:a^b%m。下面提供2种解法。

    一个有关调度的问题joj1015

    这个题其实现在想起来也不知道是怎么就给ac的。

    吉林大学ACM题集.pdf-JOJ

    整理的ACM题集,吉林大学的,pdf格式,jilin univercity online judge system

    jovo-plugins:J Jovo框架插件

    插件 :star: Jovo插件插件使您可以轻松扩展Jovo Framework,而不必弄乱其核心代码和体系结构。 查看以了解如何创建自己的插件。插件清单要将您的插件添加到下表中,请分叉存储库,然后以与其他插件相同的格式将您的...

    JoJo-s-Bizarre-Survival:一个模组,将JoJo的奇异冒险中的看台添加到Minecraft

    该mod基于荒木飞吕彦的JoJo的奇妙冒险漫画和动漫系列。 这个mod也受到KnightDemon的1.12 mod 极大启发。 这个mod的目的是要从专营权中尽可能多地增加Minecraft,该mod目前仅包含Stand能力,其他能力(Hamon,...

    furystudios

    定位-radnikhodajućipatrolira po sceni i“ gleda” ispred sebepomoćuraycasta dok ne ugleda kutiju。 汤姆·特雷纳库·普莱拉齐·斯莱杰德·斯坦耶 接送-拉德尼克·特拉奇·多拉齐·杜·库塔伊·卡达·杰·多...

    ControlEstoque_GH:..

    Este Projeto签证是由estoque进行的,它是由mer mercadorias uma determinada empresa sejam averiguadas和atualizadas ... 2021年1月20日,由JoséCláudiodeAraújoJúnior和Annielly Ferreira de Sousa所设计。

    大智慧最新安装

    大智慧最新安装包,老的已经过期不能查询个人自选股,所以推荐最新的大智慧给大家安装

Global site tag (gtag.js) - Google Analytics