c/c++语言开发共享2019.3.14解题报告&补题报告

A题 题意: 输入r, c,代表r*c的矩阵,接下来一行,是r个数,代表每一行里最大的数;接下来一行,是c个数,代表每一列中的最大数。求所给数据是否冲突。 思路:判断r个数中最大数maxr和c个数中最大数maxc是否相等,相等即能构造矩阵,否则不能。原因是maxr和maxc都是矩阵最大值,只有两数相 …


a题

题意:

输入r, c,代表r*c的矩阵,接下来一行,是r个数,代表每一行里最大的数;接下来一行,是c个数,代表每一列中的最大数。求所给数据是否冲突。

思路:判断r个数中最大数maxr和c个数中最大数maxc是否相等,相等即能构造矩阵,否则不能。原因是maxr和maxc都是矩阵最大值,只有两数相等才可能构成矩阵。

代码:

 1 #include<bits/stdc++.h>  2   3 #define vint vector<int>  4 #define vstr vector<string>  5 #define vll vector<long long>  6 #define ll long long  7 #define ull unsigned long long  8 #define pf printf  9 #define sf scanf 10 #define sfd(n) scanf("%d", &n) 11 #define sflf(n) scanf("%lf", &n) 12 #define sfll(n) scanf("%lld", &n) 13 #define pfd(n) printf("%d", n) 14 #define pflf(n) printf("%lf", n) 15 #define pfll(n) printf("%lld", n) 16 #define pft    printf("t") 17 #define pfn printf("n") 18 #define pfk printf(" ") 19 #define pi 3.1415926 20 #define max 100000 21  22 using namespace std; 23  24 int n, m; 25 int a[105], b[105]; 26  27 int main() { 28     cin >> n >> m; 29     int maxr = -1, maxc = -1; 30     for (int i = 1; i <= n; i++) { 31         cin >> a[i]; 32         maxr = max(maxr, a[i]); 33     } 34     for (int i = 1; i <= m; i++) { 35         cin >> b[i]; 36         maxc = max(maxc, b[i]); 37     } 38     if( maxr==maxc ) { 39         cout << "possible" << endl; 40     }else { 41         cout << "impossible" << endl; 42     } 43           44  45     return 0; 46 }

 

f题

题意:

给定n, 且n = m^2 – k^2 ,求m,k。

思路:

设m = k+x;

则m^2 – k^2 = 2*x*k+x^2

即n = 2*x*k+x^2 ,    x、k是正整数

所以当x是奇数时,n为奇数;当x是偶数时,n是4的倍数;

所以

  • n是奇数:x可以取1,即n = 2*k+1, m = k+1;
  • n是4的倍数:x取2,即n = 4*k+4, m = k+2;
  • n%2==0&&n%4!=0: 无法满足式子;

 

代码:

 1 #include<bits/stdc++.h>  2   3 #define vint vector<int>  4 #define vstr vector<string>  5 #define vll vector<long long>  6 #define ll long long  7 #define ull unsigned long long  8 #define pf printf  9 #define sf scanf 10 #define sfd(n) scanf("%d", &n) 11 #define sflf(n) scanf("%lf", &n) 12 #define sfll(n) scanf("%lld", &n) 13 #define pfd(n) printf("%d", n) 14 #define pflf(n) printf("%lf", n) 15 #define pfll(n) printf("%lld", n) 16 #define pft    printf("t") 17 #define pfn printf("n") 18 #define pfk printf(" ") 19 #define pi 3.1415926 20 #define max 100000 21  22 using namespace std; 23  24 int main() { 25     ll n, m, k; 26     bool f = true; 27     cin >> n; 28     if( n%2!=0 ) { 29         k = (n-1)/2; 30         m = k+1; 31     }else if( n%4==0 ){ 32         k = (n-4)/4; 33         m = k+2; 34     }else { 35         f = false; 36     } 37     if( f ) { 38         cout << m << " " << k; 39     }else { 40         pf("impossible"); 41     } 42  43     return 0; 44 }

i题

题意:

求公式最大值

思路:

sos保存前k项的平方和,sum保存后(n-k)项的和,

遍历k,求最大值

代码:

 1 #include<bits/stdc++.h>  2   3 #define vint vector<int>  4 #define vstr vector<string>  5 #define vll vector<long long>  6 #define ll long long  7 #define ull unsigned long long  8 #define pf printf  9 #define sf scanf 10 #define sfd(n) scanf("%d", &n) 11 #define sfc(n) scanf("%c", &n) 12 #define sflf(n) scanf("%lf", &n) 13 #define sfll(n) scanf("%lld", &n) 14 #define pfd(n) printf("%d", n) 15 #define pfc(n) printf("%c", n) 16 #define pflf(n) printf("%lf", n) 17 #define pfll(n) printf("%lld", n) 18 #define pft    printf("t") 19 #define pfn printf("n") 20 #define pfk printf(" ") 21 #define pi 3.1415926 22 #define max 100000 23  24 using namespace std; 25  26 int main() { 27     int n; 28     cin >> n; 29     int* num = new int[n]; 30     cin >> num[0]; 31     ll sos = num[0]*num[0], sum = 0, max = 0, ans; 32     for( int i=1; i<n; i++ ) { 33         cin >> num[i]; 34         sum += num[i]; 35     } 36     for( int k=1; k<n; k++ ) { 37         ans = sos*sum; 38         if( max<ans ) { 39             max = ans; 40         } 41         sos += num[k]*num[k]; 42         sum -= num[k]; 43     } 44     pfll(max); 45  46     return 0; 47 }

 

www.ctvol.com true https://www.ctvol.com/c-cdevelopment/600125.html Article c/c++语言开发共享2019.3.14解题报告&补题报告

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/600125.html

(0)
上一篇 2021年5月9日
下一篇 2021年5月9日

精彩推荐