UVa 482 - Permutation Arrays

来源:互联网 发布:巩俐白骨精知乎 编辑:程序博客网 时间:2024/05/21 11:33

题目:给你两组数字,第一组是编号,第二组是值,按第一组的编号输出第二组的值。

分析:简单题、输入输出控制。读入数据,利用编号排序输出即可。

说明:注意数据范围,数组开大点。

#include <algorithm>#include <iostream>#include <cstdlib>#include <cstdio>using namespace std;typedef struct noded{int  id;char str[101];}dnode;dnode D[100001];bool cmp( dnode p, dnode q ){return p.id < q.id;}int main(){int  n;char buf[101];while ( scanf("%d",&n) != EOF ) while ( n -- ) {getchar();getchar();int count = 0,move = 0;while ( 1 ) {buf[move] = getchar();if ( buf[move] == '\n' ) break;if ( buf[move] == ' ' ) {if ( move ) {buf[move] = 0;D[count ++].id = atoi( buf );move = 0;}}else move ++;}buf[move] = 0;D[count ++].id = atoi( buf );for ( int i = 0 ; i < count ; ++ i )scanf("%s",D[i].str);sort( D, D+count, cmp );for ( int i = 0 ; i < count ; ++ i )printf("%s\n",D[i].str);if ( n ) printf("\n");}return 0;}

0 0