发布时间:2025-12-10 19:21:55 浏览次数:5
天勤论坛关闭了么_天勤数据结构高分笔记pdf哎,一事无成的感觉,决定天勤论坛的题从头刷起,然后再去看其他OJ上的一些题,出来混迟早要还的,既然以前没学,那自己就慢慢还吧。一.首先前八题一律是输入输出的题,那么就来好好说说输入输出的问题。初次接触这个东西时,有时算法搞出来了,但是输入输出总不对,一开始就没有一个好的人知道我,以至于在这里打了退堂鼓,也是当时自己不够坚定,及时找个人问问多好。简而言之,熟练掌握所有输入输出技巧
哎,一事无成的感觉,决定天勤论坛的题从头刷起,然后再去看其他OJ上的一些题,出来混迟早要还的,既然以前没学,那自己就慢慢还吧。
初次接触这个东西时,有时算法搞出来了,但是输入输出总不对,一开始就没有一个好的人知道我,以至于在这里打了退堂鼓,也是当时自己不够坚定,及时找个人问问多好。
简而言之,熟练掌握所有输入输出技巧,就是掌握所有ACM问题的框架,因为一般来说掌握了输入输出问题的格式,是一个ACM问题最外层的框架。
(1)如果是单纯的输入两组数据输出结果
15
1020
6
30
while(cin>>a>>b){} 是否还在为Ide开发工具频繁失效而烦恼,来吧关注以下公众号获取最新激活方式。亲测可用!
【正版授权,激活自己账号】:Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】:官方授权 正版激活 自己使用,支持Jetbrains家族下所有IDE…
这样的框架用于没组样例中数据个数相同,但是不知道多少组数据,输进去就要处理的问题
(2)如果已经指明要输入多少组数据例如:
2
15
1020
6
30
int n;while(n--){cin>>a>>b} //注意 此处是n--虽然本人大部分习惯喜欢--n的形式,而且在效果一样的情况下,--n的效率更高。而且事实告诉我,大部分情况下,while循环比for循环要更招人待见。
(3)如果是以0,0这样的数据作为结束的,那么同样是在while循环里控制逻辑更便宜。
while(cin>>a>>b && (a||b)){}由此推之,所有逻辑在while循环里体现即可 1008题没什么好说,1009题主要要学会利用set()来处理格式
#include <iostream>#include <iomanip>#define MONTH 12using namespace std;int main(){ int i; float a,sum=0; for(i=1;i<=MONTH;++i) { cin>>a; sum+=a; } cout<<"¥"<<setiosflags(ios::fixed)<<setprecision(2)<<sum/12<<endl; // cout<<"¥"<<fixed<<setprecision(2)<<sum/12<<endl; return 0;}
#include <iostream>#include <iomanip>#include <cstring>#include <cstdio>using namespace std;int main(){ char s[1000004]; while(gets(s)) { int l=strlen(s); int flag=0; for(int i=0; i<l; ++i) { if(s[i]!='A' && s[i]!='B' && s[i]!='C' && s[i]!='D' && s[i]!='F' &&s[i]!=' ') { flag=1; cout<<"Unknown"<<endl; break; } } int sum=0; int length=0; if(flag==0) { for(int j=0; j<l; ++j) { if(s[j]=='A') { sum+=4; length++; } if(s[j]=='B') { sum+=3; length++; } if(s[j]=='C') { sum+=2; length++; } if(s[j]=='D') { sum+=1; length++; } if(s[j]=='F') { sum+=0; length++; } } double average=sum*1.0 / (length *1.0); printf("%.2f\n",average); } } return 0;} double average=sum*1.0 / (length *1.0);
cout<<fixed<<setprecision(2)<<average<<endl;
最后一题1011,这一题中本身没什么说的,但是我有一个漏洞的解法,sample可以过,但是test不过,请问为什么?
#include <iostream>using namespace std;int main(){ int n; cin>>n; while(n--) { int a[6]; for(int i=0;i<6;++i) { cin>>a[i]; } if((100*a[0]+10*a[1]+a[2])<(100*a[3]+10*a[4]+a[5])) cout<<"Second"<<endl; else if((100*a[0]+10*a[1]+a[2])>(100*a[3]+10*a[4]+a[5])) cout<<"First"<<endl; else cout<<"Same"<<endl; } return 0;} over。明天再刷几道入门水题。