HDU 2034 人见人爱A-B
这题有两个条件,一是要A-B,这个可以用个标记,而是要排序,个人觉得先排序,再去A-B好做些.代码如下
#include<stdio.h> #include<stdlib.h> #include<string.h> int num1[105],num2[105],des[105],n,m; int main( ) { while( scanf( "%d%d",&n,&m ),n|m ) { memset( des,0,sizeof( des ) ); for( int i = 0; i < n; ++i ) scanf( "%d",&num1[i] ); for( int j = 0; j < m; ++j ) scanf( "%d",&num2[j] ); for( int i = 0,f; i < n - 1;++i )//排序 { f = 0; for( int j = 1; j < n - i; ++j ) if( num1[j-1] > num1[j] ) num1[j-1] ^= num1[j] ^= num1[j-1] ^= num1[j],f = 1; if( !f ) break; } for( int i = 0,f; i < m; ++i )//A-B for( int j = 0; j < n; ++j ) if( num1[j] == num2[i] ) des[j] = 1; int f = 0; for( int i = 0; i < n; ++i )//输出 if( !des[i] ) { printf( "%d ",num1[i] ); f = 1; } if( !f )//如果都没有 printf( "NULL" ); puts( "" ); } return 0; }
本人还是新手 ,转载请注明来自Lvsi‘s home