日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

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

编程问答

第三周算法周报

發布時間:2024/1/8 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第三周算法周报 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

P2181 對角線
題目描述
對于一個 n 個頂點的凸多邊形,它的任何三條對角線都不會交于一點。請求出圖形中對角線交點的個數。

例如,6 邊形:
這里可以注意到并沒有出現多條對角線交叉在一個點的情況。

#include <iostream>using namespace std;int main() {long long int n = 0;cin >> n;long long int ans = 0;long long int temp = 1;while (temp < (n - 2)){ans += temp * (n - temp - 2);temp++;}if (n % 4 == 0){n /= 4;}else if (n % 2 == 0){n /= 2;ans /= 2;}else{ans /= 4;}ans *= n;cout << ans << endl;return 0; }

思路:1.先選擇一條對角線,將多邊形分為兩個部分,一邊是一個點的,另一邊是剩下的點,兩邊的點相連形成的對角線與所選擇的對角線相交形成交點。
2.以此類推,現分為一邊是1個點的,然后這一邊的點逐漸增加,直到另外一邊也只剩下一個點為止。需要特別注意的是,這樣的每一組對角線都有n條,這樣重復計算了比如點c到點b和點b到點c,其實是同一條。再根據題意,每個交點是由兩個對角線形成的,而我們在計算點的時候用每條對角線都計算了一次,所以又重復計算了一遍。也就是說,這樣我們得到的ans是最終正確ans的4倍。
特別注意,我將乘n的操作挪到了外面,把除以4的操作提前了,避免在運算的過程中出現數據上溢的情況。

P1085 [NOIP2004 普及組] 不高興的津津

題目描述
津津上初中了。媽媽認為津津應該更加用功學習,所以津津除了上學之外,還要參加媽媽為她報名的各科復習班。另外每周媽媽還會送她去學習朗誦、舞蹈和鋼琴。但是津津如果一天上課超過八個小時就會不高興,而且上得越久就會越不高興。假設津津不會因為其它事不高興,并且她的不高興不會持續到第二天。請你幫忙檢查一下津津下周的日程安排,看看下周她會不會不高興;如果會的話,哪天最不高興。

輸入格式
輸入包括77行數據,分別表示周一到周日的日程安排。每行包括兩個小于1010的非負整數,用空格隔開,分別表示津津在學校上課的時間和媽媽安排她上課的時間。

輸出格式
一個數字。如果不會不高興則輸出00,如果會則輸出最不高興的是周幾(用1, 2, 3, 4, 5, 6, 71,2,3,4,5,6,7分別表示周一,周二,周三,周四,周五,周六,周日)。如果有兩天或兩天以上不高興的程度相當,則輸出時間最靠前的一天。

輸入輸出樣例
輸入
5 3
6 2
7 2
5 3
5 4
0 4
0 6
輸出
3
說明/提示 noip2004普及組第1題

#include<stdio.h> int main(){int i,j,c,d,b=0,a=0;//j<8就直接輸出a=0for(int i=1;i<=7;i++){scanf("%d %d",&c,&d);j=c+d;if((j>b)&&(j>8)){b=j;a=i;} }printf("%d\n",a);return 0; }

P1888 三角函數
題目描述
輸入一組勾股數 a,b,c用分數格式輸出其較小銳角的正弦值。(要求約分。)

輸入格式
一行,包含三個正整數,即勾股數 a,b,c(無大小順序)。

輸出格式
一行,包含一個分數,即較小銳角的正弦值

輸入輸出樣例
輸入
3 5 4
輸出
3/5

說明/提示
數據保證:a,b,ca,b,c 為正整數且 ∈[1,10 9 ]。

#include<bits/stdc++.h>//萬能開頭 using namespace std; int main(){int a,b,c,i;cin>>a>>b>>c;if(a>b&&a>c){if(b>c){i=__gcd(a,c);cout<<c/i<<"/"<<a/i;}else{i=__gcd(a,b);cout<<b/i<<"/"<<a/i;}}else if(b>a&&b>c){if(a>c){i=__gcd(b,c);cout<<c/i<<"/"<<b/i;}else{i=__gcd(b,a);cout<<a/i<<"/"<<b/i;}}else if(c>b&&c>a){if(b>a){i=__gcd(a,c);cout<<a/i<<"/"<<c/i;}else{i=__gcd(b,c);cout<<b/i<<"/"<<c/i;}}return 0; }

注意:這題最重要的是約分

總結

以上是生活随笔為你收集整理的第三周算法周报的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。