Phigros
TOUCH TO START
</p>
112813301227
from PIL import Image
im = Image.open('C:\\Users\\Administrator\\Desktop\\素材\\dtk.bmp')
pix = im.load()
#==================================================================================
#功能:判断一个像素的RGB颜色是否被填涂,若被填涂返回True,否则返回False
#参数:r, g, b为一个像素的RGB颜色值
def judge_pix(r, g, b):
gray=0.299 * r + 0.587 * g + 0.114 * b
if gray<=150:
return True
#功能:判断一个信息点是否被前途,若被填涂返回True,否则返回False
#参数:x, y为该信息点左上角像素的位置信息
def judge_rec(x, y):
w=26
h=11
cnt=0
for i in range(y,y+h):
for j in range(x,x+w):
r,g,b=pix[j,i]
#print(j,i)
if judge_pix(r,g,b):
cnt+=1
if cnt/w/h>=0.64:
return True
#功能:传入一列第一个信息点左上角像素位置信息,返回该列填涂的数值
#参数:x, y为该列第一个信息点左上角像素位置信息
def judge_col(x, y):
y_span = 28 #两个纵向相邻信息点的间距
kh = -1 #存储填涂的考号,若该列没有填涂则返回-1
#补充实现后续代码
while True:
if judge_rec(10,96+y_span*(kh)):
return kh
else:
kh+=1
#print(kh)
#====================================================================================
#设置第一列第一个信息点左上角位置信息
x0 = 10
y0 = 96
x_span = 42 #两个横向相邻信息点的间距
#补充实现后续代码
for i in range(0,9):
print(judge_col(x0+i*x_span,y0),end='')
#include<bits/stdc++.h>
using namespace std;
vector<int>v[10010];
int st[10010],dist[10010];
int n,m;
void dfs(int idx){
for(int i=0;i<v[idx].size();i++){
int n=v[idx][i];
if(st[n])continue;
st[n]=1;
dist[n]=dist[idx]+1;
dfs(n);
}
}
int main(){
cin>>m;
while(m--){
int a,b;
cin>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
n=max(a,b);
}
st[1]=1;
dfs(1);
int maxx1=0,q;
for(int i=1;i<=n;i++){
if(maxx1<dist[i]){
maxx1=dist[i];
q=i;
}
}
memset(st,0,sizeof st);
memset(dist,0,sizeof dist);
st[q]=1;
dfs(q);
int maxx2=0,r;
for(int i=1;i<=n;i++){
if(maxx2<dist[i]){
maxx2=dist[i];
r=i;
}
}
cout<<maxx2+1;
return 0;
}