猫史档案馆


谁会JS?帮忙看一下哪错了?

用户:么丶孓噩么丶孓噩查看:0 回复:2 评论:0 创建时间:2023-05-29T21:21:16


varmonthText=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]; vardayText=["零一号","零二号","零三号","零喵","零五号","零六号","零七号","零八号","零九号","十号","十一号","十二号","十三号","十喵","十五号","十六号","十七号","十八号","十九号","二十号","二十一号","二十二号","二十三号","二十喵","二十五号","二十六号","二十七号","二十八号","二十九号","三十号","三十一号"]; varweekText=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; varhourText=["零点","零一点","零两点","零三点","零四点","零五点","零六点","零七点","零八点","零九点","零十点","十一点","十二点","十三点","十四点","十五点","十六点","十七点","十八点","十九点","二十点","二十一点","二十二点","二十三点"]; varminuteText=["零一分","零二分","零三分","零四分","零五分","零六分","零七分","零八分","零九分","零十分","十一分","十二分","十三分","十四分","十五分","十六分","十七分","十八分","十九分","二十分","二十一分","二十二分","二十三分","二十四分","二十五分","二十六分","二十七分","二十八分","二十九分","三十分","三十一分","三十二分","三十三分","三十四分","三十五分","三十六分","三十七分","三十八分","三十九分","四十分","四十一分","四十二分","四十三分","四十四分","四十五分","四十六分","四十七分","四十八分","四十九分","五十分","五十一分","五十二分","五十三分","五十四分","五十五分","五十六分","五十七分","五十八分","五十九分","六十分"]; varsecondsText=["零一秒","零二秒","零三秒","零四秒","零五秒","零六秒","零七秒","零八秒","零九秒","零十秒","十一秒","十二秒","十三秒","十四秒","十五秒","十六秒","十七秒","十八秒","十九秒","二十秒","二十一秒","二十二秒","二十三秒","二十四秒","二十五秒","二十六秒","二十七秒","二十八秒","二十九秒","三十秒","三十一秒","三十二秒","三十三秒","三十四秒","三十五秒","三十六秒","三十七秒","三十八秒","三十九秒","四十秒","四十一秒","四十二秒","四十三秒","四十四秒","四十五秒","四十六秒","四十七秒","四十八秒","四十九秒","五十秒","五十一秒","五十二秒","五十三秒","五十四秒","五十五秒","五十六秒","五十七秒","五十八秒","五十九秒","六十秒"]; varclock;varmonthList=[]; vardayList=[]; varweekList=[]; varhourList=[]; varminuteList=[]; varsecondsList=[]; varisCircle=false; vartextSet=[[monthText,monthList], [dayText,dayList], [weekText,weekList], [hourText,hourList], [minuteText,minuteList], [secondsText,secondsList]]; window.οnlοad=function() { init(); setInterval(function() {runTime(); },100); changePosition(); setTimeout(function() {changeCircle(); },2000); } functioninit() {clock=document.getElementById('clock'); for(vari=0; i<textSet.length;i++) {for(varj=0;j<textSet[i][0].length;j++) {vartemp=createLabel(textSet[i][0][j]); clock.appendChild(temp);textSet[i][1].push(temp); } } } functioncreateLabel(text) { vardiv=document.createElement('div'); div.classList.add('label'); div.innerText=text;returndiv; } functionrunTime() { varnow=newDate(); varmonth=now.getMonth(); varday=now.getDate(); varweek=now.getDay(); varhour=now.getHours(); varminute=now.getMinutes(); varseconds=now.getSeconds(); initStyle(); varnowValue=[month,day-1,week,hour,minute,seconds]; for(vari=0; i<nowValue.length; i++) {varnum=nowValue[i]; textSet[i][1][num].style.color='#fff'; } if(isCircle) {varwidthMid=document.body.clientWidth/2; varheightMid=document.body.clientHeight/2; for(vari=0; i<textSet.length; i++){for(varj=0; j<textSet[i][0].length; j++){varr=(i+1)*35+50*i; vardeg=360/textSet[i][1].length*(j-nowValue[i]); varx=r*Math.sin(deg*Math.PI/180)+widthMid; vary=heightMid-r*Math.cos(deg*Math.PI/180); vartemp=textSet[i][1][j]; temp.style.transform='rotate('+(-90+deg)+'deg)'; temp.style.left=x+'px'; temp.style.top=y+'px'; } } } } functioninitStyle() {varlabel=document.getElementsByClassName('label'); for(vari=0; i<label.length;i++) {label[i].style.color='#4d4d4d'; } } functionchangePosition() { for(leti=0;i<textSet.length; i++) { for(letj=0; j<textSet[i][1].length; j++){ lettempX=textSet[i][1][j].offsetLeft+"px"; lettempY=textSet[i][1][j].offsetTop+"px"; setTimeout(function(){ textSet[i][1][j].style.position="absolute"; textSet[i][1][j].style.left=tempX;textSet[i][1][j].style.top=tempY; },50); } } } functionchangeCircle() { isCircle=true; clock.style.transform="rotate(90deg)"; }


回复

上一页1 页 / 共 1下一页
fkxrfkxr

没法看,点击</>;选择javascript再发;

另外帮我找个人看看这个那错了(dev-c++)

#include<bits/stdc++.h>
using namespace std;
#define gc getchar()
#define pc putchar
#define li long long
inline li read(){
	li x = 0,y = 0,c = gc;
	while(!isdigit(c)) y = c,c = gc;
	while(isdigit(c)) x = (x << 1) + (x << 3) + (c ^ '0'),c = gc;
	return y == '-' ? -x : x;
}
#define ldb long double
int cnt,tong[510];
struct node{
	li x,y;
	node(li _x = 0,li _y = 0){x = _x;y = _y;}
}p[510];
inline bool operator < (node q,node w){
	return q.x == w.x ? q.y < w.y : q.x < w.x;
}
inline bool cmp(int q,int w){
	return p[q].x == p[w].x ? p[q].y < p[w].y : p[q].x < p[w].x;
}
inline node operator + (node q,node w){
	return node(q.x + w.x,q.y + w.y);
}
inline node operator - (node q,node w){
	return node(q.x - w.x,q.y - w.y);
}
inline li operator * (node q,node w){
	return q.x * w.y - q.y * w.x;
}
inline ldb dis(node q,node w){
	return sqrtl((q.x - w.x) * (q.x - w.x) + (q.y - w.y) * (q.y - w.y));
}
ldb ans;
struct tb{
	vector<int> a;
	ldb as;
	inline int& operator [] (int x){return a[x];}
}a[260],b[260];
int n,nw[1010],tot;
ldb f[510][510],h[510][510],ds[510][510];
int g[510][510];
int jj[510][510];
bool ff[510][510];
node nwd;
inline bool cpm(int q,int w){
	if(p[q].x > nwd.x && p[w].x < nwd.x) return 1;
	if(p[q].x < nwd.x && p[w].x > nwd.x) return 0;
	if(p[q].x == nwd.x && p[q].y < nwd.y) return 0;
	if(p[w].x == nwd.x && p[w].y < nwd.y) return 1;
	return (p[q] - nwd) * (p[w] - nwd) > 0;
}
inline bool jiao(node a,node b,node c,node d){
	node p1 = a - c,p2 = d - c,p3 = b - c;
	if(1.0l * (p1 * p2) * (p3 * p2) >= 0) return 0;
	p2 = b - a;p3 = d - a;
	return 1.0l * (p1 * p2) * (p3 * p2) > 0;
}
bool shan[260];
int pm[510];
int sx[260];
inline bool cp(int q,int w){
	return q > w;
}
bool intb[510];
int st1[1010],ft1,st2[1010],ft2;
inline ldb wk(){
	int i;
	ft1 = ft2 = 0;
	sort(nw + 1,nw + tot + 1);
	
	for(i = 1;i <= tot;++i){
		while(ft1 > 1 && ((p[st1[ft1]] - p[st1[ft1 - 1]]) * (p[st1[ft1]] - p[nw[i]]) >= 0)) --ft1;
		st1[++ft1] = nw[i]; 
	}
	for(i = tot;i;--i){
		while(ft2 > 1 && ((p[st2[ft2]] - p[st2[ft2 - 1]]) * (p[st2[ft2]] - p[nw[i]]) >= 0)) --ft2;
		st2[++ft2] = nw[i]; 
	}
	ldb as = 0;
	for(i = 1;i < ft1;++i) as += dis(p[st1[i]],p[st1[i + 1]]);
	for(i = 1;i < ft2;++i) as += dis(p[st2[i]],p[st2[i + 1]]);
	return as;
}
int main(){
	int i,j,k,l,u,v;
	n = read();
	for(i = 1;i <= n;++i){
		a[i].a.resize(2);
		p[++cnt].x = read();p[cnt].y = read();tong[cnt] = cnt;
		p[++cnt].x = read();p[cnt].y = read();tong[cnt] = cnt;
		a[i].as = 2 * dis(p[cnt - 1],p[cnt]);
		ans += a[i].as;
	}
	if(n == 1){printf("%.10lf\n",(double)ans);return 0;}
	sort(tong + 1,tong + cnt + 1,cmp);
	for(i = 1;i <= cnt;++i) a[tong[i] + 1 >> 1][tong[i] + 1 & 1] = i;
	for(i = 1;i <= n;++i) if(a[i][0] > a[i][1]) swap(a[i][0],a[i][1]);
	memset(tong,0,sizeof(tong));
	sort(p + 1,p + cnt + 1);
	for(i = 1;i <= cnt;++i){
		int tt = 0;
		for(j = 1;j <= cnt;++j) if(i != j) jj[i][++tt] = j;
		nwd = p[i];
		sort(jj[i] + 1,jj[i] + tt + 1,cpm);
	}
	for(i = 1;i <= cnt;++i) for(j = i;j <= cnt;++j) ds[i][j] = ds[j][i] = dis(p[i],p[j]);
	bool lss = 0,fg = 1;
	while(fg){
		fg = 0;
		for(i = 1;i < n;++i) for(j = i + 1;j <= n;++j){
			tot = 0;
			for(k = 0;k < a[i].a.size();++k) nw[++tot] = a[i][k];
			for(k = 0;k < a[j].a.size();++k) nw[++tot] = a[j][k];
			ldb nxt = wk();
			if(nxt <= a[i].as + a[j].as){
				ans += nxt - a[i].as - a[j].as;
				a[i].a.clear();a[i].a.resize(ft1 + ft2 - 2);
				for(k = 1;k < ft1;++k) a[i][k - 1] = st1[k];
				for(k = 1;k < ft2;++k) a[i][k + ft1 - 2] = st2[k];
				a[i].as = nxt;swap(a[j],a[n]);--n;fg = 1;
				goto qwq;
			}
		}
		qwq:;
	}
	for(i = 1;i <= n;++i) for(j = 0;j < a[i].a.size();++j) for(k = 1;k <= n;++k) for(l = 0;l < a[k].a.size();++l) if(i != k || j != l) ff[a[i][j]][a[k][l]] = 1;
	while(1){
		memset(g,0,sizeof(g));
		memset(intb,0,sizeof(intb));
		for(i = 1;i <= n;++i) for(j = 0;j < a[i].a.size();++j) intb[a[i][j]] = 1;
		for(i = 1;i <= cnt;++i) for(j = 1;j <= cnt;++j) if(!intb[i] || !intb[j]) ff[i][j] = 0;
		for(i = 1;i <= cnt;++i) for(j = 1;j <= cnt;++j) f[i][j] = ans;
		for(i = 1;i <= n;++i) for(j = 0;j < a[i].a.size();++j) for(k = 1;k <= n;++k) for(l = 0;l < a[k].a.size();++l) if(i != k || j != l){
			int p1 = a[i][j],p2 = a[k][l];
			if(!ff[p1][p2]) continue;
			if((p[p2] - p[p1]) * ((j != a[i].a.size() - 1 ? p[a[i][j + 1]] : p[a[i][0]]) - p[p1]) < 0){
				ff[p1][p2] = 0;continue;
			} 
			if((p[p1] - p[p2]) * ((l ? p[a[k][l - 1]] : p[a[k][a[k].a.size() - 1]]) - p[p2]) > 0){
				ff[p1][p2] = 0;continue;
			}
			for(u = 1;u <= n;++u) if(u == n || !lss){
				if((i < k || (i == k && j < l)) || !ff[p2][p1]){
					for(v = 0;v < a[u].a.size();+喵){
						if(jiao(p[p1],p[p2],p[a[u][v]],v ? p[a[u][v - 1]] : p[a[u][a[u].a.size() - 1]])){
							ff[p1][p2] = ff[p2][p1] = 0;break;
						}
					} 
				}
				if(!ff[p1][p2]) break;
				if(p1 == a[u][0]){
					if((p[p2] - p[p1]) * node(1,-1234567890 - p[p1].y) < 0) h[p1][p2] -= a[u].as;
				} 
				else{
					nwd = node(p[a[u][0]].x + 1,-1234567890);
					li q1 = (p[p1] - p[a[u][0]]) * node(1,-1234567890 - p[a[u][0]].y),q2 = (p[p2] - p[a[u][0]]) * node(1,-1234567890 - p[a[u][0]].y);
					if(q1 > 0 && q2 < 0){
						if(1.0l * ((nwd - p[p1]) * (p[p2] - p[p1])) * ((p[a[u][0]] - p[p1]) * (p[p2] - p[p1])) < 0) h[p1][p2] -= a[u].as;
					} 
					else if(q1 < 0 && q2 > 0){
						if(1.0l * ((nwd - p[p1]) * (p[p2] - p[p1])) * ((p[a[u][0]] - p[p1]) * (p[p2] - p[p1])) < 0) h[p1][p2] += a[u].as;	
					} 
				}
			} 
		}
		ldb nwa = ans;int wz = 0;
		for(i = 1;i <= n;++i) sx[i] = a[i][0];
		sort(sx + 1,sx + n + 1,cp);
		for(i = 1;i <= n;++i){
			int p1 = sx[i],p2;
			if(lss && p[a[n][0]] < p[p1]) continue; 
			pm[p1] = cnt;
			for(j = 1;j < cnt;++j) pm[jj[p1][j]] = j;
			for(j = 1;j < cnt && p[jj[p1][j]].x >= p[p1].x;++j){
				p2 = jj[p1][j];
				if(p[p2].x == p[p1].x && p[p2].y < p[p1].y) break;
				if(!ff[p1][p2]) continue;
				if(f[p1][p2] > ds[p1][p2] + h[p1][p2]){
					f[p1][p2] = ds[p1][p2] + h[p1][p2];
					g[p1][p2] = p1;
				}
			}
			for(j = 1;j < cnt && p[jj[p1][j]].x >= p[p1].x;++j){
				p2 = jj[p1][j];
				if(p[p2].x == p[p1].x && p[p2].y < p[p1].y) break;
				for(k = 1;k <= cnt;++k) if(ff[p2][k] && pm[k] > pm[p2]){
					if(f[p1][k] > f[p1][p2] + ds[p2][k] + h[p2][k]){
						f[p1][k] = f[p1][p2] + ds[p2][k] + h[p2][k];
						g[p1][k] = p2;
					}
				}
			}
			if(f[p1][p1] < -1e-8){
				nwa = f[p1][p1];wz = p1;break;
			} 
		}
		if(nwa >= -1e-8) break;
		ans += nwa;
		nw[tot = 1] = wz;
		for(i = g[wz][wz];i != wz;i = g[wz][i]) nw[++tot] = i;
		nw[++tot] = wz;
		int nxtn = 0;
		for(i = 1;i <= n;++i){
			nwd = node(p[a[i][0]].x + 1,-1234567890);
			bool inn = 0;
			for(j = 1;j < tot;++j){
				if(p[a[i][0]].x == p[nw[j]].x && p[a[i][0]].y == p[nw[j]].y){
					inn = 1;break;
				}
				if(jiao(p[nw[j]],p[nw[j + 1]],p[a[i][0]],nwd)) inn ^= 1;
			}
			if(inn){
				nwa += a[i].as;u = i;
				for(int p1 = 1;p1 <= cnt;++p1) for(int p2 = 1;p2 <= cnt;++p2) if(ff[p1][p2]){
					if(p1 == a[u][0]){
						if((p[p2] - p[p1]) * node(1,-1234567890 - p[p1].y) < 0) h[p1][p2] += a[u].as;
					} 
					else{
						nwd = node(p[a[u][0]].x + 1,-1234567890);
						li q1 = (p[p1] - p[a[u][0]]) * node(1,-1234567890 - p[a[u][0]].y),q2 = (p[p2] - p[a[u][0]]) * node(1,-1234567890 - p[a[u][0]].y);
						if(q1 > 0 && q2 < 0){
							if(1.0l * ((nwd - p[p1]) * (p[p2] - p[p1])) * ((p[a[u][0]] - p[p1]) * (p[p2] - p[p1])) < 0) h[p1][p2] += a[u].as;
						} 
						else if(q1 < 0 && q2 > 0){
							if(1.0l * ((nwd - p[p1]) * (p[p2] - p[p1])) * ((p[a[u][0]] - p[p1]) * (p[p2] - p[p1])) < 0) h[p1][p2] -= a[u].as;	
						} 
					}
				}
			} 
			else b[++nxtn] = a[i];
		}
		for(i = 1;i <= nxtn;++i) a[i] = b[i];
		n = nxtn + 1;
		a[n].as = nwa;a[n].a.clear();a[n].a.resize(tot - 1);
		for(i = tot;i > 1;--i) a[n][tot - i] = nw[i];lss = 1;
	}
	printf("%.10lf\n",(double)ans);
	return 0;
}

点赞0


评论


fkxrfkxr

不要怀疑我, 我是CCF的工程师

点赞0


评论