心得
2015-10-07 22:38
405 查看
本题算法不难想出,但是中间还是出现了一些问题。
开始的时候是#11:Execution error,后来把普通的数组改成动态数组后问题消失。
后来又出现了Execution error: Your program had this runtime error: Illegal file open (/dev/tty)。
随后google解决方案,多数都是数组开小了。遂开大数组,无效。
突然意识到很有可能是低级错误,于是检查代码。
发现写了个
一开始没有注意到是因为这些错误编译器(ClodeBlocks)都会无视而成功编译,本地可以成功运行.
删掉循环,上传,通过。
有时候错误可能并不是和预设地一样,但是通过逻辑检查应该还是可以检查出来。
自己本地写代码,应该尽可能严谨,而不是只求编译器通过。
最后的代码:
开始的时候是#11:Execution error,后来把普通的数组改成动态数组后问题消失。
后来又出现了Execution error: Your program had this runtime error: Illegal file open (/dev/tty)。
随后google解决方案,多数都是数组开小了。遂开大数组,无效。
突然意识到很有可能是低级错误,于是检查代码。
发现写了个
for(int i = 0; i < n2 ; i++)
delete[] d;
一开始没有注意到是因为这些错误编译器(ClodeBlocks)都会无视而成功编译,本地可以成功运行.
删掉循环,上传,通过。
有时候错误可能并不是和预设地一样,但是通过逻辑检查应该还是可以检查出来。
自己本地写代码,应该尽可能严谨,而不是只求编译器通过。
最后的代码:
/* ID: bluemit1 PROG: gift1 LANG: C++ */ #include <iostream> #include <fstream> #include <cstring> using namespace std;
int main() { ofstream fout ("gift1.out"); ifstream fin ("gift1.in"); int n; fin >> n ; char *a0 = new char[n*18]; char **a; a = new char * ; for(int i=0;i<n;++i) a[i] = a0 + i*18; char c[18];int *b=new int ; for(int i=0;i<n;i++) { b[i]=0; } for(int i=0;i<n;i++) for(int j=0;j<18;j++) { a[i][j]='\0'; } for (int i=0;i<n;i++) { fin>>a[i]; }
for(int i=0;i<18;i++) { c[i]='\0'; } fin>>c; while(c[0]!='\0') { int sum,n2; fin>>sum>>n2;
if(n2!=0) { char *d0 = new char[n2*18]; char **d; d = new char *[n2]; for(int i=0;i<n2;++i) d[i] = d0 + i*18; for(int i=0;i<n2;i++) for(int j=0;j<18;j++) { d[i][j]='\0'; } for(int i=0;i<n2;i++) { fin>>d[i]; } for(int i=0;i<n2;i++) { for(int j=0;j<n;j++) {
if(strcmp(a[j],d[i])==0) {
b[j]+=(sum/n2);
}
}}
for(int j=0;j<n;j++)
{
if(strcmp(a[j],c)==0)
{
b[j]-=sum;
b[j]+=sum%n2;}}
delete[] d; delete [] d0;
}
for(int i=0;i<18;i++)
{
c[i]='\0';}
fin>>c;
}
for(int i=0;i<n;i++)
{
fout<<a[i]<<" "<<b[i]<<endl;}
delete[] a;
delete b;
return 0;}
相关文章推荐
- 【Machine Learning in Action --4】朴素贝叶斯从个人广告中获取区域倾向
- iOS:延时执行的三种方式
- Android-ListView-OnItemClickListener
- Web存储
- jvm 调优总结 -Xms -Xmx -Xmn -Xss
- Android:自定义适配器
- linux 文件权限
- c#,使用WPF的Adorner实现iPhone上新邮件或消息提示效果----实现(二)
- iOS高效编程秘诀——坚持编程习惯
- openc下cv::Mat和IplImage的相互转换
- eclipse安装图形界面插件
- Android:改变Activity切换方式
- 理解VMWare的三种网络连接模式(bridged、NAT、host-only)
- 再行约见黄鑫的职业规划收获
- 关于GCD的常用方法介绍,MRC
- chatofPomelo game-server解析
- ***4.34-游戏:剪刀石头布
- 内连接(INNER JOIN) 外连接(OUTER JOIN)补习
- Serializable与Parcelable
- REST概述