第一讲、导论
一、排序:
1、学会使用sort函数:
调用 sort 函数的另一种重载方式:sort(排序起始地址,排序结束地址,比较函数):
#include <stdio.h> #include <algorithm> using namespace std; bool cmp (int x,int y) { //定义排序规则 return x > y; } int main () { int n; int buf[100]; while (scanf ("%d",&n) != EOF) { for (int i = 0;i < n;i ++) { scanf ("%d",&buf[i]); } sort (buf,buf + n,cmp); //使用该重载形式,我们表明将要使用自己定义的排列规 则 for (int i = 0;i < n;i ++) { printf("%d ",buf[i]); } printf(" "); }return 0; }
二、提交结果判断:
1、accepted:答案正确。
2、Wrong Answer(答案错误):测试数据没有输出正确的结果,解决方法:
(1)若干对算法的正确性有较大的把握,那么你可以重点考虑代码健壮性,即是否存在某些特殊数据是程序出现错误、比如边界问题,比如程序中变量出现溢出。另一方向是怀疑算法本身的正确性,需要重新考虑算法设计。
3、Presentation Error(格式错误):
系统认为你的程序输出“好像”是正确的,只是没有严格按照题目当中的输出要求的输出格式输出答案。此时应多检查是否因为多数出了一些空格、换行之类的多余字符。
4、Time Limited Exceeded(超出时间限制):
(1)、假若你确定算法时间复杂度能符合题目要求,那么依旧可以检查是否是程序在某种情况下出现了死循环,是否有边界数据导致程序不能正常结束。
(2)、你设计的算法时间复杂度设计更加有效的算法或者对现行算法进行优化。