首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

【MS编程之好资格赛】Problem A及Problem B

2013-04-12 
【MS编程之美资格赛】Problem A及Problem B题目链接:点击打开链接第一题和第二题都是小数据和大数据都AC了,6

【MS编程之美资格赛】Problem A及Problem B

题目链接:点击打开链接

第一题和第二题都是小数据和大数据都AC了,65分。。略高兴

思路请看各位大神的博客吧。。他们写的比我好

A:

 #include <stdio.h> #include <iostream> #include <string.h> #include <math.h> using namespace std;  int n,m,k;  void swap(long long &a,long long &b) {     long long t=a;     a=b;     b=t; } long long getc(long long j) {     return j*(j-1)/2; }  int main() {    int testcase;    int p=1;cin>>testcase;    while (testcase--)    {        scanf("%d%d%d",&n,&m,&k);        if (n<m) swap(n,m);        int t=sqrt(k);        int b=t>m?m:t;        int a=k/b>n?n:k/b;        long long max=0;        for (;b>=2 && a<=n;--b,a=k/b)        {            long long sum=getc(a)*getc(b);            int p=k-a*b;            if (a<n)            {               sum=sum+getc(p)*a;            }             else             {                 sum=sum+getc(p)*b;             }             max=max>sum?max:sum;        }        cout<<"Case #"<<p<<": "<<max<<endl;        p++;    }   return 0; } 




热点排行