• codejam环境熟悉—Minimum Scalar Product


    今天准备熟悉一下codejam的在线编程,为google的笔试做准备,因此按照codejam上对新手的建议,先用了一个简单的题目来弄清楚流程。记录一下需要注意的地方。

    1.输入输出

    输入输出重定位即可,拿Minimum Scalar Product这个例子示例如下:

    #include <iostream>
    #include <vector>
    #include <algorithm>
    #include <functional>
    #include <cstdio>
    using namespace std;

    int main()
    {
    freopen("A-large-practice.in","r",stdin);
    freopen("output.in","w",stdout);

    int caseNum;
    int curVectorLen;
    typedef long long longType;
    longType curTotal;
    cin>>caseNum;
    for(int i=0;i<caseNum;++i)
    {
    cin>>curVectorLen;

    vector<int> vec1(curVectorLen,0);
    vector<int> vec2(curVectorLen,0);

    for(int j=0;j<curVectorLen;j++)
    {
    cin>>vec1[j];
    }

    for(int j=0;j<curVectorLen;j++)
    {
    cin>>vec2[j];
    }

    sort(vec1.begin(),vec1.end());
    sort(vec2.begin(),vec2.end());

    curTotal=0LL;
    for(int j=0;j<curVectorLen;++j)
    {
    curTotal+=(longType)vec1[j]*vec2[curVectorLen-1-j];
    }

    cout<<"Case #"<<i+1<<": "<<curTotal<<endl;

    }

    return 0;
    }

    可知,平时的OJ环境默认输出现在转到了文件读取和写入。转换的关键代码如下:

    #include <iostream>
    #include <vector>
    #include <algorithm>
    #include <functional>
    #include <cstdio>
    using namespace std;

    int main()
    {
    freopen("A-large-practice.in","r",stdin);
    freopen("output.in","w",stdout);

    //正常的cin和cout
    return 0;
    }

    2.关于Minimum Scalar Product

    注意溢出问题就好了。两个int类型乘的时候注意强制类型转换一下。

  • 相关阅读:
    WebService基于SoapHeader实现安全认证
    js中SetInterval与setTimeout用法
    Fiddler 教程
    jQuery 的 serializeArray()、serialize() 方法
    Javascript中Array.prototype.map()详解
    MS DOS 命令大全
    Chrome的JS调试工具
    jquery插件之DataTables 参数介绍
    C#中的Params、ref、out的区别
    C#记录日志、获取枚举值 等通用函数列表
  • 原文地址:https://www.cnblogs.com/obama/p/3323316.html
Copyright © 2020-2023  润新知