现在的位置: 首页 > 综合 > 正文

Hackerran Manasa and Stones

2018年02月20日 ⁄ 综合 ⁄ 共 641字 ⁄ 字号 评论关闭

这是一个简单的枚举题目,需要找出 a ,b 的所有系数。i * b + (n-i-1)  * a

但是 我最早的代码 自己测试的时候 能通过测试样例1 和 2 但是提交上去 就一个 都不能通过 。下面的是最早的

#include <iostream>
#include <cmath>
#include <algorithm>

using namespace std ;

int main()
{
	int t ;
	cin >> t ;
	cout << endl ;
	while (t--)
	{
	 long long	 n , a , b ;
		cin >> n >> a >> b ;
		
		 a = min(a,b) ;
		 b = max(a,b) ;
		for ( long long i = 0 ; i < n ; ++i)
		          cout << i * b + (n-i-1)  * a << " " ;
	}
	
	return 0 ;
}

后面的这个事 通过的 ,很奇怪 为什么用了set 就可以通过了,难道因为是升序??

#include <iostream>
#include <algorithm>
#include <cmath>

using namespace std ;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        long long a,b,n,i;
        long long int c,d;
        set <int> s;
        cin>>n>>c>>d;
        a = min(c,d);
        b = max(c,d);
        n--;
        for(i=0 ; i<= n ; i++)
        {
            s.insert(i*b+(n-i)*a);
        }
        for(auto it = s.begin(); it != s.end(); it++)
            cout << *it << " ";
        cout << endl;
    }
    return 0;
}

抱歉!评论已关闭.