long verse(long next) { long j; if(!tree[next].wl) { for(j=next+1;j<i;j++) { if(!vis[j]) { vis[j]=1; tree[next].wl=verse(j); break; } } } if(!tree[next].wr) { for(j=next+1;j<i;j++) { if(!vis[j]) { vis[j]=1; tree[next].wr=verse(j); break; } } } if((tree[next].wl*tree[next].dl)!=(tree[next].wr*tree[next].dr)) { flag=1; } return (tree[next].wl+tree[next].wr); }
string sing(int start, int end) { stringstream ss; for(auto i = start ; i >= end ; --i) ss << verse(i) << (i != end ? "\n" : ""); return ss.str(); }
int main() { char str[60000]; long kase; bool p=0; scanf("%ld",&kase); getchar(); getchar(); while(kase--) { i=0; while(gets(str)&&str[0]!='\0') { sscanf(str,"%ld %ld %ld %ld",&tree[i].wl,&tree[i].dl,&tree[i].wr,&tree[i].dr); i++; } memset(vis,0,sizeof(vis)); flag=0; verse(0); if(p) printf("\n"); p=1; if(flag) printf("NO"); else printf("YES"); printf("\n"); } return 0; }
std::string sing(const int32_t beg_verse, const int32_t end_verse) { auto song = string(""); for(auto i = beg_verse; i >= end_verse; --i) { song += verse(i) + "\n"; } song = song.replace(song.find_last_of("\n"), 2, ""); return song; }
string verses(int start, int end) { string verses; for (int i=start; i<=end; i++) { verses = verses + verse(i) + "\n"; } return verses; }
void loop(){ int buttonState = digitalRead(2); if(buttonState == HIGH){ for(int i=1;i<=3;i++){ //verse1(0); verse(1); bridge(); ball(); } } }
int main(void) { // line one words string line_one[] = {"one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"}; // line two words string line_two[] = {"on my thumb", "on my shoe", "on my knee", "on my door", "on my hive", "on my sticks", "up in heaven", "on my gate", "on my spine", "once again"}; // put the words in corresponding lines for (int i = 0; i < 10; i++) { verse(line_one[i], line_two[i]); } }