11.20(2)

来源:互联网 发布:施工进度网络计划绘制 编辑:程序博客网 时间:2024/06/05 16:10
第三题
花园漫步的奶牛
Farmmer有a~z(貌似二十六个)字母编号的奶牛,奶牛们喜欢在花园沿着环形的石子路散步。已知每一头奶牛进花园的入口和出口都不一样。经过farmmer的仔细偷窥(划掉)观察,他记录了每只奶牛进出的入口和出口,编成了一个2*26的字符串。求哪几只奶牛成对(a所走的路程里出现b,且b的路程里也出现了a)
额,有些懵,有些无助,好像两重循环就能轻松搞定的事,却怎么也打不出来,脑子像是一团糊一样乱的不像话。不知纠结的多久,还剩几分钟的时候才匆匆地想起了下一道题。急急忙忙去做。只留下第三道题的空壳。
include<bits/stdc++.h>
using namespace std;
int m;
int n[100][100];
int main()
{
string a;
char x;
cin>>a;
for(int i=0;i<=55;i++)

  x=a[i];
  m=0;
  for(int j=i+1;(x!=a[j])&&(j<=56);j++)
   m+=1;
   for(int j=i;j<=i+m;j++)
   a[]
    }  
return 0;
}
到现在,这仍是道不解之谜。
Next
第四题
奶牛们一炮而红了,纷纷都被邀请去了party。记者们早已打听到了消息,蹲守在门口,等待奶牛的到来,接受采访。每只奶牛走路的时间不同,为了公平,先到达的先采访,后到达的要等前一只奶牛采访完了才能继续接受采访。给出每只奶牛的走路所需时间和采访所需时间,求出所有奶牛进入派对会场的时间所需。
红人是非多啊。匆匆地看题,匆匆地做起来。第一步毋庸置疑的肯定是排序。而走路时间变量的改变会使得采访时间变量一起改变交换,若用两个数组,这里的sort可不怎么好用。这样一看道题明显需要用到pair语句的排序使得整个程序更简单易懂。忘记格式的我只能默默地,默默地码完了冒泡排序,只为了那一长条的交换。心累,格式什么,真的很重要。复不复习会影响身心啊!!
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int a[1000];
    int b[1000];//a数组用来存放奶牛走路所需的时间;b数组用来存放采访所需的时间。
 for(int i=1;i<=n;i++)
 cin>>a[i]>>b[i];
 for(int i=1;i<=n;i++)
  for(int j=i+1;j<=n;j++)
  if(a[i]>a[j])
  {
  int t=a[i];
  a[i]=a[j];
  a[j]=t;
  t=b[i];
  b[i]=b[j];
  b[j]=t;
  }//冒泡....加交换。将走路时间短的放在前面(走路时间短的奶牛能先接受采访。)
  int s=a[1]+b[1];
  for(int i=2;i<=n;i++)
  if(s<a[i])
  s+=(a[i]-s)+b[i];
   else
   s+=b[i];//判断,要是上一头奶牛走路加上采访的时间比下一头奶牛走路的时间要长,那么下一头奶牛就需要等待,所以取第一头奶牛采访加上走路的时间计入总和。不然的话就以这头奶牛到达会场的时间作为所需时间计入总时间。
   cout<<s<<endl;
return 0;
}
End
Tip:
1.吃一堑长一智。做题前要先把所有的题目都看过再选择对自己来说相对简单的先做
2.别太久死磕一道题,当前路迷茫,很长时间都一筹莫展的时候可以打打草稿换个思路,或者换一题。
3.以前学过的知识一定得复习,基础知识得抓得稳稳的。
5.刷题有益身心,多刷题。刷题。刷题。
原创粉丝点击