Codejam 之 初章
来源:互联网 发布:linux 显示时区 cst 8 编辑:程序博客网 时间:2024/06/04 19:44
有段时间颇爱编程竞赛题,如Google发起的Codejam等。一者多见识些问题,二者时常写写C++代码,以免手生。子曰:学而时习之,不亦说乎。
Codejam还是不错,涉及到的知识范围较广,还可顺便练练英语阅读。不过竞赛毕竟是竞赛,有些东西还是可以模式化。比如它的输入与输出格式都不变,何不写一个模版代码文件处理输入输出?这样不但能更专心于如何解决问题,亦可节约时间。
以下是在下用过的代码:
//============================================================================// Name : codejamtest2.cpp// Author : festony// Version :// Copyright : // Description : Codejam test template source code//============================================================================#include <iostream>#include <fstream>#include <sstream>#include <cmath>#include <ctime>#include <cstdio>#include <cstdlib>#include <cstring>#include <string>#include <vector>#include <map>#include <set>#include <algorithm>using namespace std;static string process(int caseNum, fstream & in) {char buf[10240];string temp_str = "";string result = "";sprintf(buf, "Case #%d: %s\n", caseNum + 1, temp_str.c_str());result.append(buf);return result;}int main() {char buff[10240];while(true) {cout << "Input?";cin >> buff;if(buff[0] == 'n' || buff[0] == 'N') {break;}int caseNum = 0;fstream in("C:\\codejamtest\\testin.txt");fstream out("C:\\codejamtest\\testout.txt", ios_base::out | ios_base::trunc);in >> caseNum;in.ignore(256, '\n');char buf[10240];string result = "";for(int i=0; i<caseNum; i++) {result.append(process(i, in));}cout << result;out << result;in.close();out.close();}return 0;}
或有谬误及可改进之处。输出会直接写入testout.txt,调试信息可用cout输出。
也许我该把codejam中常用的数据结构和算法也写出来?虽有重造轮子之嫌,但是多写写代码总不是坏事。
- Codejam 之 初章
- Codejam之Bathroom Stalls
- Codejam之Tidy Numbers
- Codejam之Alphabet Cake
- Codejam之Ratatouille
- Codejam之初章 python版
- Codejam之初章 python decorator 版
- ThoughtWorks CodeJam
- 另一个CodeJam
- codejam old magician 问题
- codejam 2008 practice problems
- codejam 2008 practice Contest
- codejam 2008 Qualification Round
- codejam round1c第二题
- google codejam 汇总
- google codejam 2008 round1B
- google codejam 2008 round2
- CodeJam Kickstart 初见
- Html5写语音输入框
- Linux 常用命令
- 创建和读写linux下面的/proc文件
- HDU1162 Eddy's picture
- 点击(鼠标经过)左边的文字,右边出现相应的图片
- Codejam 之 初章
- Objective-C研究院之Object对象(五)
- CentOS 6.2 使用第三方yum源安装更多rpm软件包
- 【最短路】智捅马蜂窝
- 将阿拉伯数字转为中文大写读法
- 关于keil中data,idata,xdata,pdata,code的问题
- ubuntu12.04与Nexus7进行数据连接
- Spring的事务配置的方式
- Unity3D研究院之与根据动态的两个轨迹点绘制面详解(二十)