c语言编写动态星空 c语言编写动态星空代码CSDN
- 网络推广
- 2025-01-03 10:22
- 1
小怡给大家谈谈c语言编写动态星空,以及c语言编写动态星空代码CSDN应用的知识点,希望对你所遇到的问题有所帮助。
c语言编写动态星空 c语言编写动态星空代码CSDN
c语言编写动态星空 c语言编写动态星空代码CSDN
1、#includeint main(){int year,month,day,n=0;scanf("%d/%d/%d",&year,&month,&day);while(month){n=day+n;--month;if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)day=31;else if(month==4||month==6||month==9||month==11)day=30;else(((year%4==0&&year%100!=0)||(year%400==0))&&month==2)?29:28;}printf("%dn",n);return 0;}把外层循环去掉,输入一次就好了。
2、既然是超时,那程序本身是没有问题的,只是算法需要优化;还有一种可能就是输入的接收有问题导致超时除了27行强制类型转换有问题(少了个括号)以外,没看出其他毛病。
3、你是在哪个平台上做的题?报出来参考一下~n的范围是20000所以要找nlogn的算法要二分以下是我的ac代码,希望对你有帮助#include #include #include using namespace std;int const L=20001;double const INF=1e8;int n;struct point{int x,y,z;} a[L];bool cmp(point const & p1,point const & p2){return p1.x}double dis(int i,int j){double l,h,w;l=a[i].x-a[j].x;h=a[i].y-a[j].y;w=a[i].z-a[j].z;return sqrt(ll+hh+ww);}double mn(double x,double y){if (xreturn y;}double work(int l,int r){if (rint mid=(l+r)/2;double t1,t2;t1=work(l,mid);t2=work(mid+1,r);double min=INF;min=mn(t1,t2);int l1,r1;l1=r1=mid;while (a[mid].x-a[l1].xl) l1--;while (a[r1].x-a[mid].xint i,j;double tmp;for (i=l1;ifor (j=mid+1;j{tmp=dis(i,j);min=mn(min,tmp);}return min;}int main(){int i,j;double ans,t;while(scanf("%d",&n)!=EOF){ans=1e9;for (i=1;isort(a+1,a+n+1,cmp);ans=work(1,n);printf("%.2lfn",ans);}return 0;}。
本文到这结束,希望上面文章对大家有所帮助。
版权声明:本文内容由互联网用户自发贡献。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 836084111@qq.com,本站将立刻删除。
下一篇