万能头文件&&clock

#include<bits/stdc++.h>

#include<bits/stdc++.h>

#include<bits/stdc++.h>

重要的事情说三遍,万能头文件,太强了!

今天早上我做一道很简单的题:
数位排列
(digit.pas/c/cpp)
【题目描述】
给定一个正整数 N,1≤N≤10^17,问是否可以将 N 的所有数位上的数字重新排列,使得新数能被 17 整除,当然新数不能有前导 0,如果可以输出“YES”,否则输出“NO”,不含引号。
【输入格式】
一行一个数 N;
【输出格式】
一行 YES 或 NO;
【输入样例】
2242223
【输出样例】
YES
【样例解释】新数可以为 2222342;

此题并不是特别难,将每位取出来,从0-9搜索即可。
但是我当时没有想到,我直接用暴力搜索,17位,1位1位换。这样做当然会超时了,于是我就在搜到一个正确答案后直接退出。怎么退出呢?
exit(0);可是我不知道这个函数的头文件。所以我就使用了万能头文件。
这个头文件几乎能开所有库(当然vector,priority_queue必须重新开)
于是就可以用exit了。

可是即使如此,还是爆成了40分,因为如果答案是NO,那么我就要搜索
每一个情况,于是还是超时了。然而clock函数即可帮助我避免。

if((double)clock()/1000>=0.95){
        puts("NO");
        exit(0);
    }

意思是如果该程序运行时间超过0.95s,即退出程序,输出NO。
这样就可以不超时了!
这里写图片描述
可以看到,有3个0.95的点。
这样,clock就从40分骗成了100分。

clock和万能头文件都能大大帮助我们提高分数,效率,你记住了吗?

原文地址:https://www.cnblogs.com/stevensonson/p/7612209.html