模拟(入门)

基础不多但常用,也由于常用所以不多扯。接下来就是一种好玩的..。

模拟

  模拟就像是我们常做的情景应用题,题目给你一个情景但不给具体数据,而让你用代码来实现给定范围内的的变量计算。大体就是这样,一般学过的人都清楚,这里就不多加赘述。下面上题(由于是模拟入门so...例题均为入门题):

eg1:p1046 陶陶摘苹果

  此题给定数据个数及范围,所以在定义上是十分简单的。用for进行数据记录,if进行条件判定若苹果高度小于(陶陶高度+凳子高度)那么结果加一。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int a[11],x,s,j;
 5 
 6 int main()
 7 {
 8     for(int i=1;i<=10;i++)
 9         cin>>a[i];
10     cin>>j;
11     for(int i=1;i<=10;i++)
12             if(a[i]<=j+30)
13                 s++;
14     cout<<s;
15     return 0;
16 }

eg2:P1059 明明的随机数

 

  其实此题放在这不太恰当,因为此题表面上是情景模拟,但实际上是排序的底子。

  已知输入的数在1~1000范围内,那么我们可以定义一个数组(初始值为0),用输入的数为下标,数值加一(“去重”的关键);由于需要从小到大排序,所以用for把1~1000都过一遍(枚举),判断每个数组的数值是否为0,不为0,那么输出下标,为0就继续循环,由于从小到大循环输出所以也完成了排序。其实这也是桶排序的思想。 

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int a[1001],n,k,x[101];
 5 
 6 int main()
 7 {
 8     int j=0;
 9     cin>>n;
10     for(int i=1;i<=n;i++)
11     {
12         cin>>k;
13         a[k]++;
14     } 
15     for(int i=1;i<=1000;i++)
16         if(a[i]>0)
17         {
18             j++;
19             x[j]=i;
20             n--;
21         }
22     cout<<j<<endl;
23     for(int l=1;l<=j;l++)
24         cout<<x[l]<<" ";
25     return 0;
26  }

eg3:p1634 禽兽的传染病

  题目很短

  看到这题是不是很easy?然后...

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int x,n,s;
 5 
 6 int main()
 7 {
 8     cin>>x>>n;
 9     s=1;
10     for(int i=1;i<=n;i++)
11         s=s+s*x;
12     cout<<s;
13     return 0; 
14 }

  如果你是这样做的那么恭喜你在洛谷上的得分为30分(不要问我为什么~~~因为开始我这就是这样!!)(莫名伤心)

  开始天真的我以为没毛病,又交了好几遍~~~然后...wa声一片;后来才发现原来——

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 long long x,n,s;
 5 
 6 int main()
 7 {
 8     cin>>x>>n;
 9     s=1;
10     for(int i=1;i<=n;i++)
11         s=s+s*x;
12     cout<<s;
13     return 0; 
14 }

  是我定义的小了,它被爆了。(唉!!!这个答案让我哭笑不得)

eg4:p1567统计天数

  看到它我的想法还是很多的,不过CE了,有修改了一番

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 long long n,a[10001],b[1000001],s;
 5 
 6 int main()
 7 {
 8     cin>>n;
 9     int k=1;
10     for(int i=1;i<=n;i++)
11     {
12         cin>>b[i];
13         if(b[i]>b[i-1])
14                 k++,a[i]=k;
15         else k=1,a[i]=k;
16     }
17     for(int i=1;i<=n;i++)
18         s=max(a[i],s);    
19     cout<<s;
20     return 0;
21 }

 注:题目出自洛谷https://www.luogu.org/

 

转载于:https://www.cnblogs.com/berserker-slst/p/cjjyuyan2.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
模拟登录是爬虫中常见的任务之一,下面是一个简单的模拟登录示例,供您参考: ```python import requests # 创建一个Session对象 session = requests.session() # 构造登录请求的URL和表单数据 login_url = 'https://example.com/login' data = { 'username': 'your_username', 'password': 'your_password' } # 发送登录请求 response = session.post(login_url, data=data) # 检查登录是否成功 if response.status_code == 200: print("登录成功!") else: print("登录失败!") # 接下来可以使用session对象进行后续的请求,保持登录状态 # 发送其他请求 data_url = 'https://example.com/data' response = session.get(data_url) # 处理响应数据 if response.status_code == 200: data = response.json() # 进行数据处理和提取等操作 print(data) else: print("请求数据失败!") # 最后记得关闭session session.close() ``` 在这个示例中,我们使用了`requests`库来发送HTTP请求。首先创建一个`Session`对象,它会自动处理cookie和会话信息。然后,我们构造了登录请求的URL和表单数据,使用`session.post()`方法发送登录请求。如果返回的响应状态码为200,则表示登录成功。 接下来可以使用`session`对象进行其他请求,它会自动携带之前登录的会话信息。在示例中,我们发送了一个GET请求来获取数据,并对响应进行处理。 请注意,具体的登录方式和数据格式可能因网站而异,您需要根据目标网站的实际情况进行相应的调整和处理。 希望这个示例能帮到您,如果您有更多问题,请随时提问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值