acmタイムアウト防止ビッグデータ手動入力テクニック

1085 ワード

1.debugでは複数回の繰り返し入力を防止し、ファイルから入力情報を読み込むにはmainの下に1行を加えるだけです
freopen("input.txt","r",stdin);       

作成したプロジェクトフォルダからファイル情報をプログラムに読み込むことができるので、事前にサンプルをプログラムディレクトリの下に割り当てるだけでよい
同じように、ファイルに出力するには、このように書けばいいです.
    freopen("output.txt", "w", stdout);  

2.タイムアウト、ここでは(cでは)ヘッダファイルを導入する必要がある
そしてポイントは次の通りです
#include 
#include 
using namespace std;

const int INF = 0x3f3f3f3f;
const int maxn = 1e7+5;
typedef long long ll;

int main() {
    int n,m;
    clock_t start,finish;
    start =clock();
    for(int i=0;i

プログラムの先頭と末尾で現在の時間を取得する開始時間と終了時間を定義します.そして減少は滴下回数となる(プログラム毎に滴下回数+1を演算する、振り子に相当する)をCLOCKS_PER_SECで割る、これはtimeヘッダファイルのマクロ定義であり、1秒で滴下できる回数を表し、総回数を単位時間で割る、プログラムの総消費時間に入力が含まれていれば1読取ファイルに結合したり、入力終了後にstartを取得する時点とすることができる.
3.入出力フック
cin coutとstdin,stdioの同期を無効にすると、scanf printfとの差が少ない効率にcin coutを向上させることができます.
ios::sync_with_stdio(false);