应该算是模拟题,不过小case很多,正常模拟的话很难AC,wa了好多次,还是决定去看大神的代码。然后发现的大神并不是模拟的。。
而是用了两个函数:strtok和atoi。
原型:char *strtok(char s[], const char *delim);
分解字符串为一组字符串。s为要分解的字符,delim为分隔符字符(如果传入字符串,则传入的字符串中每个字符均为分割符)。首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。
还有一个将字符串数字转成整形数字的函数atoi(ascii to integer)
把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。 int atoi(const char *nptr) 函数会扫描参数 nptr字符串,跳过前面的空白字符(例如空格,tab缩进)等,可以通过isspace( )函数来检测),直到遇上数字或正负符号才开始做转换,而在遇到非数字或字符串结束符(‘\0’)才结束转换,并将结果返回。如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回 0。
建议自己尝试一下这两个函数的使用方法。
AC代码:
/* HDU 1106 排序 */
#include<bits/stdc++.h>
using namespace std