Heim >Datenbank >MySQL-Tutorial >SRM 498 div2

SRM 498 div2

WBOY
WBOYOriginal
2016-06-07 15:15:181082Durchsuche

250pt: 题意:就是黑板上有三个数,有n次选择的机会,每次选择哪个数可以得到和那个数相同的分数,然后黑板上的该数减一。求n次选择最多能得到多少分。(注意分数减到0后就不在减)。 思路:水题啊,每次选择时排序即可,选择最大的。 代码: int getMaximu

250pt:

题意:就是黑板上有三个数,有n次选择的机会,每次选择哪个数可以得到和那个数相同的分数,然后黑板上的该数减一。求n次选择最多能得到多少分。(注意分数减到0后就不在减)。

思路:水题啊,每次选择时排序即可,选择最大的。

代码:

int getMaximumPoints(int A, int B, int C, int N)
        {
            int i,j,k;
			int sum = 0;
			int num[3] = {A,B,C};
			for(int i = 1;i = 1)
			  num[2]--;
			}
			return sum;
        }

500pt:

题意:有这样一种序列,s[0] s[a+1] > s[a+2] > s[a+3] > ... >s[b] = s[b+1] = s[b+2] = ... = s[c] s[d+1] > s[d+2] > ... >s[n-1],而且小于的值都相等,也就是说s[0] 到 s[a] 是一个等差数列,s[a]到s[b]是一个等差数列,s[c] 到s[d] 是一个等差数列,s[d] 到 s[n-1] 是一个等差数列。判断所给的序列中是否满足这样的条件。对应输出“YES” 和“NO” 即可。

思路:其实就是模拟题了,不过细节问题需要注意,考虑清楚即可。

代码:

string isValid(vector <int> seq)
        {
            int i,j,k;
			string ss;
			int flag = true;
			int len = seq.size();
			if(len = len)
				  break;
			  while(seq[i+1] - seq[i] == x && x > 0){
			     i++;
			  }
			  a = i;
			  x = seq[i+1] - seq[i];
			  while(seq[i+1] - seq[i] == x && x  0){
			    i++;
			  }
			  d = i;
			  x = seq[i+1] - seq[i];
			  while(seq[i+1] - seq[i] == x && x <br>
<br>



</int>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn