天勤论坛(天勤论坛关闭了么_天勤数据结构高分笔记pdf)

发布时间:2025-12-10 19:21:55 浏览次数:5

天勤论坛关闭了么_天勤数据结构高分笔记pdf-天勤论坛关闭了么

天勤论坛关闭了么_天勤数据结构高分笔记pdf哎,一事无成的感觉,决定天勤论坛的题从头刷起,然后再去看其他OJ上的一些题,出来混迟早要还的,既然以前没学,那自己就慢慢还吧。一.首先前八题一律是输入输出的题,那么就来好好说说输入输出的问题。初次接触这个东西时,有时算法搞出来了,但是输入输出总不对,一开始就没有一个好的人知道我,以至于在这里打了退堂鼓,也是当时自己不够坚定,及时找个人问问多好。简而言之,熟练掌握所有输入输出技巧

哎,一事无成的感觉,决定天勤论坛的题从头刷起,然后再去看其他OJ上的一些题,出来混迟早要还的,既然以前没学,那自己就慢慢还吧。

一.首先前八题一律是输入输出的题,那么就来好好说说输入输出的问题。

初次接触这个东西时,有时算法搞出来了,但是输入输出总不对,一开始就没有一个好的人知道我,以至于在这里打了退堂鼓,也是当时自己不够坚定,及时找个人问问多好。


简而言之,熟练掌握所有输入输出技巧,就是掌握所有ACM问题的框架,因为一般来说掌握了输入输出问题的格式,是一个ACM问题最外层的框架。

(1)如果是单纯的输入两组数据输出结果

样例输入

15
1020

样例输出

6
30

那么可以
while(cin>>a>>b){}

是否还在为Ide开发工具频繁失效而烦恼,来吧关注以下公众号获取最新激活方式。亲测可用!

为防止网络爬虫,请关注公众号回复”口令”

激活idea 激活CLion DataGrip DataSpell dotCover dotMemory dotTrace GoLand PhpStorm PyCharm ReSharper ReShaC++ Rider RubyMine WebStorm 全家桶 刷新

【正版授权,激活自己账号】: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循环里体现即可
其余的一直到1007问题都是用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;}


1010题是一种新的输入输出类型,主要要回使用gets函数来处理控制这一类数据。代码值得学习
#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;}

原因是,你的每一个版本号,未必是个位数。因此不能用10进制加权来判断。

over。明天再刷几道入门水题。

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477