欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

2018多校1 hdu6298 6300 6308

发布时间:2024/10/12 编程问答 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 2018多校1 hdu6298 6300 6308 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 

a题

找规律之后发现当n%3==0时,乘积为(n/3)^3,

n%4==0时,乘积为(n/2)*(n/4)^2,

其余全为-1

1 #include <iostream> 2 #include <cstdio> 3 using namespace std; 4 5 int main() 6 { 7 int t; 8 long long n,cnt; 9 scanf("%d",&t); 10 while(t--){ 11 scanf("%lld",&n); 12 if(n%3==0) cnt=(n/3)*(n/3)*(n/3); 13 else if(n%4==0) cnt=(n/2)*(n/4)*(n/4); 14 else cnt=-1; 15 printf("%lld\n",cnt); 16 } 17 return 0; 18 } View Code

 

c题

将3n个点以x坐标从小到大排序,再顺序输出原来是第几个点

1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 6 const int n=10010; 7 int q[n],s[n],emm[n]; 8 9 void quick_sort(int q[],int s[],int l,int r){ 10 if(l>=r) return; 11 int i=l-1,j=r+1,x=q[l+r>>1]; 12 while(i<j){ 13 do(i++);while(q[i]<x); 14 do(j--);while(q[j]>x); 15 if(i<j) { 16 swap(q[i],q[j]); 17 swap(s[i],s[j]); 18 } 19 } 20 quick_sort(q,s,l,j); 21 quick_sort(q,s,j+1,r); 22 } 23 24 int main() 25 { 26 int t,n2; 27 scanf("%d",&t); 28 while(t--){ 29 scanf("%d",&n2); 30 for(int i=0;i<3*n2;i++){ 31 scanf("%d %d",&q[i],&emm[i]); 32 s[i]=i+1; 33 } 34 quick_sort(q,s,0,n2*3-1); 35 for(int i=0;i<n2;i++){ 36 printf("%d %d %d\n",s[i*3],s[i*3+1],s[i*3+2]); 37 } 38 } 39 return 0; 40 } View Code

 

k题

转换成分钟算

(未完

转载于:https://www.cnblogs.com/moomight/p/11193118.html

总结

以上是生活随笔为你收集整理的2018多校1 hdu6298 6300 6308的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。